2015-02-10 1776 views
-1

的Sybase SQL字符串轉換爲DateTime幫助:的Sybase SQL:字符串轉換爲日期和時間

我有日期和存儲在表中的字符串格式(「yyyymmddhhnnss」)的時間。我需要選擇它們以日期和時間格式。

例如: 字符串值: '20141228092818' 有望迴歸:'28 2014年12月上午09點28分18秒」

字符串值: '20141121132810' 有望迴歸:'21 2014年11月01 :28:10 PM」

欣賞幫助......

+0

可能重複[如何將字符串轉換爲在Sybase日期](http://stackoverflow.com/questions/56303/how-to-convert-a-string-to-a-date-in-sybase) – 2015-02-10 15:42:58

回答

3

您指定的輸出格式是不完全一樣的任何的Sybase標準樣式(請參閱Sybase documentation for the convert function)。

儘管它與109風格非常接近,只是日月逆轉,並且在時間上沒有領先零。要進行此轉換,您需要將字符串轉換爲Sybase可以識別的格式,並且可以轉換爲日期時間(例如yyyymmdd hh:mm:ss),將其轉換爲日期時間,然後將其轉換回字符串109風格。

實施例:

create table #test (test varchar(255)) 

insert #test select '20141228092818' 
insert #test select '20141121132810' 

select 
    convert(varchar(255), 
     convert(datetime, 
      left(test, 8) + ' ' + 
      substring(test, 9, 2) + ':' + 
      substring(test, 11, 2) + ':' + 
      substring(test, 13, 2) 
     ), 
    109) 
from #test 

輸出:

Dec 28 2014 9:28:18:000AM 
Nov 21 2014 1:28:10:000PM 
0

由於託比。有效。

SELECT CONVERT(datetime,SUBSTRING(MyField, 5, 2) + '/' + SUBSTRING(MyField, 7, 2) + '/' + SUBSTRING(MyField, 1, 4) + ' ' + SUBSTRING(MyField, 9, 2) + ':' + SUBSTRING(MyField, 11, 2) + ':' + SUBSTRING(MyField, 13, 2)) TransactDateTime 

28/12/2014上午09時28分十八秒

21/11/2014下午1時28分10秒

相關問題