【发布时间】:2016-10-25 12:54:43
【问题描述】:
如何在 SQL Server 中将 yyyymmddhhmmss+offset (20151125175706+0800) 转换为日期时间格式?可以在日期时间比较中用于选择最后一分钟在表中输入的记录。
我从消息的 OBX 段中获取此格式,并将其保存在表中的 varchar 字段中。
我尝试过这样做(除其他外):
select cast(convert(varchar, SUBSTRING(OBXDateTime, 1, 4) + '-' +
SUBSTRING(OBXDateTime, 5, 2) + '-' +
SUBSTRING(OBXDateTime, 7, 2) + ' ' +
SUBSTRING(OBXDateTime, 9, 2) + ':' +
SUBSTRING(OBXDateTime, 11, 2) + ':' +
SUBSTRING(OBXDateTime, 13, 2), 101) as datetime) from ObservationPatInfo
此查询仅给出表中 1020 行中的 522 行,并给出错误消息 “将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。”
请帮我解决这个问题。
【问题讨论】:
标签: sql-server datetime