【发布时间】:2016-05-04 20:01:58
【问题描述】:
我的 SQL Server 表中有 StartTime 和 EndTime 列,显示为 hhmmss(例如:090000)
我希望将其转换为 9:30 使用
CONVERT(varchar(5), StartTime, 108) AS Start_Time,
CONVERT(varchar(5), EndTime, 108) AS End_Time
但我得到一个错误:
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。
任何输入?
【问题讨论】:
-
你的时区是多少?您可以使用
IsDate()来查看StartTime或EndTime是否也不是有效日期。 starttime 和 endtime 的数据类型是什么? -
我目前看不到该代码如何返回该错误消息。您似乎正在将日期时间数据类型转换为 varchar(5),但错误消息却相反。您确定您没有尝试将这些值插入到日期时间字段中吗?
-
您确实应该将格式留给前端,并将您的数据作为本机类型返回。我希望你使用的是时间数据类型,但我感觉你不是。
-
@Jon 数据类型为日期时间
-
这不是你的错误信息所说的 - 一定有一些误解。
标签: sql sql-server date reporting-services type-conversion