【发布时间】:2019-06-01 10:58:55
【问题描述】:
我遇到了这个奇怪的问题,我需要将datetime 转换为varchar。
我运行了这两个查询:
declare @d datetime
set @d ='31/12/2019 16:12:25.317'
select @d
select convert(varchar(50), '31/12/2019 16:12:25.317', 101)
第一个查询抛出错误:
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。
第二个查询工作正常。
【问题讨论】:
-
Bad habits to kick : declaring VARCHAR without (length) - 您应该始终为您使用的任何
varchar变量和参数提供长度 -
我总是在需要的时候使用这种格式:
'2019-12-31T16:12:25.317'。应该工作吗?
标签: sql sql-server-2008