这是我的第一篇文章,所以任何错误都要提前道歉。
我正在尝试将字符串转换为日期格式。我的字符串格式为' 20110709_000000'。
我在研究后尝试了以下查询,但都返回了以下错误: '从字符串转换日期时间时转换失败。'
我试过了
Select CAST(REPLACE('20110709_000000','_', '') AS DATETIME)
和
SELECT CONVERT(DATETIME,REPLACE('20110709_000000','_', ''),109).
任何帮助都将不胜感激。
答案 0 :(得分:3)
假设000000
为hhmiss
,您可以使用substring获取部分并构建格式为yyyymmdd hhmiss
的字符串,您可以将其转换为datetime
declare @ds varchar(15) = '20110709_102030'
select cast(substring(@ds, 1, 8)+' '+
substring(@ds, 10, 2)+':'+
substring(@ds, 12, 2)+':'+
substring(@ds, 14, 2) as datetime)
结果:
-----------------------
2011-07-09 10:20:30.000
答案 1 :(得分:1)
你最后需要000000吗?这应该有效:
Select CAST(REPLACE('20110709_000000','_000000', '') AS DATETIME)