【问题标题】:DateADD() when the date is in INTDateADD() 当日期为 INT 时
【发布时间】:2017-01-26 22:24:55
【问题描述】:

我正在尝试使用 DateAdd(),但我的日期是 INT。我知道 Convert () 但我不确定我做错了什么: 选择 DATEADD(dd,-60,convert(datetime,20161231))

它抛出:“将表达式转换为数据类型日期时间的算术溢出错误”。请提出建议。

【问题讨论】:

    标签: sql


    【解决方案1】:

    首先将您的 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)
    

    【讨论】:

      猜你喜欢
      • 2012-07-31
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多