SQL Server 查询(查看)将字符串转换为日期时间
Posted
技术标签:
【中文标题】SQL Server 查询(查看)将字符串转换为日期时间【英文标题】:SQL Server query (view) Convert String to DateTime 【发布时间】:2014-12-05 19:05:03 【问题描述】:我有点生疏了,似乎完全忘记了如何做到这一点。我正在接收数据,数据时间列是字符串格式char(12)
。
例如:201411061900
如何编写查询(视图)以将其转换为DateTime
?
我使用过CONVERT (datetime, dbo.KWH.mr_dtm,120)
,但收到错误Conversion failed when converting date and/or time from character string.
我运气不太好。非常感谢您。
如果你也想建议 -5 时区,我不介意。 :)
【问题讨论】:
【参考方案1】:Magnus 回答了我的问题。我想把它贴在这里,以防它对将来的任何人有所帮助。 Here is the link to the answer.
在 SQL Server 中,没有输出格式标识符(例如 120)可让您将 char(12) 转换为日期时间。但是你可以使用 Substring 函数:
Select Cast(Substring(dbo.KWH.mr_dtm,1,8) + ' ' + Substring(dbo.KWH.mr_dtm,9,2)+':'+ Substring(dbo.KWH.mr_dtm,11,2) as DateTime)
谢谢大家!非常感谢。 哦,这篇文章帮助我解决了我的时区设置问题。
Convert Datetime column from UTC to local time in select statement
非常感谢 Michael Goldshteyn 的时区转换。
【讨论】:
以上是关于SQL Server 查询(查看)将字符串转换为日期时间的主要内容,如果未能解决你的问题,请参考以下文章