(更新以下评论)
我在 SQL Server 2012 上遇到了一个奇怪的行为,这个请求没问题:
select top 2002 cast(myTimeStr as time) from tbWithTime
order by ID
但
select top 2003 cast(myTimeStr as time) from tbWithTime
order by ID
失败了
消息 241,级别 16,状态 1,第 1 行
从字符串转换日期和/或时间时转换失败。
而 2002 和 2003 行都等于 '14:30'
然后,当我尝试专门投射这条 2003 行时,它成功了。
我的配置:
Name Version
Microsoft SQL Server Management Studio 10.50.1600.1
Microsft SQL Server 2012 11.0.3339.0