我有以下TSQL查詢來獲取不同的日期時間值:TSQL獲取DateTime值的部分字符串?
SELECT CONVERT(DATETIME, EndDtField - StartDtField, 120) AS Duration
FROM myTable;
結果將是:
Duration
1900-01-01 23:02:04.000
....
我試圖從這樣01 23:02:04.000
結果得到部分字符串使用RIGHT()
功能(實際上優選在01 23:02:04
而不000
格式):
SELECT RIGHT(CONVERT(DATETIME, EndDtField - StartDtField, 120), 15) AS Duration
FROM myTable;
結果是:
Duration
1 1900 11:02PM
...
它看起來像的RIGHT(..)
值是datetime
值。即使我指定datetime
值的格式爲yyyy-mm-dd hh:mi:ss
,但仍無法獲得預期結果。如何從持續時間中獲得只有日期和時間的部分字符串(dd hh:mi:ss
)?我真的不喜歡解析出day
,hour
,minute
和second
值,然後建立一個字符串。
其他選擇?
這就是我想要的。有用!謝謝謝爾蓋! – 2009-08-12 15:16:12
使用日期格式爲121的CONVERT時,可以使用char(23),這是所需的確切長度。沒有長度的「varchar」將是varchar(30) – 2009-08-12 15:18:16
太好了。我不知道varchar默認是varchar(30)。感謝你的信息。不確定是否可以在sql server上自定義該默認值。 – 2009-08-12 16:41:16