置頂
MSSQL:如何把數據從varchar改成datatime
各位好
假如我鍵入一個數據
03202012的日期,但該數據的型態是varchar
我現在想將數據轉換為2012-03-20 00:00:00的日期時間
我有嘗試使用CAST(CONVERT(CHAR(10),列101) 為DATATIME
但是出現了錯誤訊息如下:
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
請問我要怎麼解決這個問題呢?
up vote
1
下面這段SQL應該就是你要的
SELECT convert(datetime, STUFF(STUFF('31012016',3,0,'-'),6,0,'-'), 105)
Result: 2016-01-31 00:00:00.000
up vote
1
使用YYYYMMDD的格式,就可以使用了!
DECLARE @myDateString varchar(10) = '03202012';
SELECT cast( substring(@myDateString, 5, 4)+
substring(@myDateString, 1, 2)+
substring(@myDateString, 3, 2) AS datetime);
會員登入
(先登入會員才能回覆留言喔!)