我有一列是datetime
類型的列。
我要分開日期和時間,這在我以前left()
& right()
封閉由cast()
或convert()
象下面這樣:CAST()或CONVERT()不會將日期時間格式更改爲SQL Server 2008中的字符串
Select BATCH,
LEFT(CAST(S_DATE AS VARCHAR(20)),12) AS ST_DATE,
RIGHT(CAST(S_DATE AS VARCHAR(20)),8) AS ST_TIME,
LEFT(CAST(E_DATE AS VARCHAR(20)),12) AS E_DATE,
RIGHT(CAST(E_DATE AS VARCHAR(20)),8) AS E_TIME
INTO CRYST2
From Z_BATCH;
這是我datetime
列實際格式: -
2015-10-01 14:00:00.000
但問題在於它準確地將日期和時間分開,但它不是以字符串形式返回輸出,因爲輸出本身分別在其時間格式中分別變爲&時間格式各自的專欄。 以下是我得到的輸出: -
1 Oct 1 2015 2:00PM Oct 1 2015 2:30PM
正如你可以清楚地看到我的日期 - 時間串轉換後分離仍讓我對某些日期時間格式輸出的列。 請幫忙。
不要將日期時間轉換爲varchar。相反,使用dateadd和datediff來獲取日期的午夜,或者使用datepart來獲取日期的不同部分。 –
@ZoharPeled,你的意思是說,從日期時間格式第一個單獨的日期部分? 分別表示單獨的年份,月份和日期部分,然後連接它們? – prateek
衝電氣它! CONVERT(日期,S_DATE), CONVERT(TIME,S_DATE) IT,得到所需的output.thanx所有! – prateek