【发布时间】:2017-01-26 22:24:55
【问题描述】:
我正在尝试使用 DateAdd(),但我的日期是 INT。我知道 Convert () 但我不确定我做错了什么: 选择 DATEADD(dd,-60,convert(datetime,20161231))
它抛出:“将表达式转换为数据类型日期时间的算术溢出错误”。请提出建议。
【问题讨论】:
标签: sql
我正在尝试使用 DateAdd(),但我的日期是 INT。我知道 Convert () 但我不确定我做错了什么: 选择 DATEADD(dd,-60,convert(datetime,20161231))
它抛出:“将表达式转换为数据类型日期时间的算术溢出错误”。请提出建议。
【问题讨论】:
标签: sql
首先将您的 int 转换为字符串。日期中的破折号是可选的...只是更具可读性
select DATEADD(dd,-60,cast(20161231 as varchar(10)))
返回
2016-11-01 00:00:00.000
只是为了好玩,试试下面的
Select cast('2016-12-31' as date)
,cast('20161231' as date)
【讨论】: