sql - 另一个“从字符串转换日期和/或时间时转换失败”问题
问题描述
日期时间字符串采用以下格式: 2017-03-07T16:17:59.000+0000
我已经尝试了十几个我在网上和这里找到的示例,但都导致相同(或几乎相同)的错误消息。
我尝试过的一些事情:
select CONVERT(datetime2, Create_Date, 103), * from dev.dbo.ticket_Data
where assignee = 'eric king'
Select CONVERT(int, replace([Create_Date],'.0000+0000',''))Resolution_Date, * from dev.dbo.ticket_Data
where assignee = 'eric king'
select lEFT([Create_Date],LEN([Create_Date] - 9)), Resolution_Date, * from dev.dbo.ticket_Data
where assignee = 'eric king'
select DateDiff(d, Convert(Create_Date), Convert(Resolution_Date)), * from dev.dbo.ticket_Data
where assignee = 'eric king'
编辑:在列中发现一些错误数据后,问题得到解决。它与尝试或日期格式无关,而是与错误数据有关。我使用了它,它现在按预期工作。
Select convert(datetime,Left(Replace(Create_Date, 'T', ' '), 19)), * from dev.dbo.ticket_data
解决方案
这对我有用
declare @ds varchar(40) = '2017-03-07T16:17:59.000+0000';
--set @ds = '2017-03-07T16:17:59.000'
declare @d datetime2 = '2017-03-07T16:17:59.000';
select @ds, @d
, convert(datetime2, replace(@ds,'+0000',''));
推荐阅读
- javascript - 可观察对象的发射值取决于其他可观察对象
- javascript - 在 Three.js 中使用 1 个以上的参数和一个带有 datGUI 的滑块
- sql-server - 如何在 SQL Server 中的函数上进行此选择
- python - 具有错误配置的被动连接的 Python ftplib
- react-router - 使用 React Router 4 拦截返回导航?
- eclipse - Eclipse 2019-03 对 Tomcat 9 的支持
- git - 使用 Weaveworks Flux 从 Kubernetes 中删除资源
- ios - 允许我的 iOS 应用程序进入的国家/地区?
- c# - 将一行与列表进行比较
- aws-glue - 我的 S3 存储桶中有两个不同的数据文件。如何将它们都加载到正确的表中?