当前在我的数据库中,我有
20181015 151706 ---------- varchar(15)
2018-10-15 15:17:06 000--- Datetime
如何将其从varchar转换为datetime?
我已经尝试使用下面的命令
SELECT CONVERT(Datetime,CREATE_TIME , 120) from TABLE
但是我得到了错误
“将varchar数据类型转换为datetime数据类型导致值超出范围。”
SELECT CONVERT(Datetime,CREATE_TIME , 120) from TABLE
发布于 2019-03-25 13:30:04
由您的特殊20181015 151706
varchar
DateTime值引起的错误,
你可以尝试使用substring
函数,让DateTime格式的字符串值,然后做convert
。
SELECT CONVERT(DATETIME,CONCAT(substring(col, 1, 4),'-',substring(col, 5, 2),'-',substring(col, 7, 2),' ',substring(col, 9, 2),':',substring(col, 11, 2),':',substring(col, 13, 2)))
FROM (
select REPLACE('20181015 151706',' ','') col
) t1
发布于 2019-03-25 13:55:52
您的日期字符串有一个小问题。当20181015 151706
更改为仅日期部分20181015
时,它会起作用。
SELECT CONVERT(DATETIME, col)
FROM (
select '20181015' col
) t1
https://stackoverflow.com/questions/55331636
复制相似问题