You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SQL将基于特定日期计数的整数转换为日期?

SQL整数天数转日期的实现方法
  • 结论:不能用DATEPART()或GETDATE()直接实现这个转换,原因如下:

    • DATEPART()的作用是从日期中提取特定部分(比如年、月、日),比如DATEPART(day, '2015-03-01')会返回1,它不具备日期加减的计算能力。
    • GETDATE()是获取当前系统的日期时间,和你指定的起始日03/01/2015没有直接关联,没法用来基于固定起始日计算目标日期。
  • 正确实现用DATEADD()函数,这是SQL专门用于日期增减的工具:

    • 语法:DATEADD(datepart, number, date),这里我们指定day为日期部分,把天数加到起始日期上即可。
    • 对应你给出的例子,具体SQL语句如下:
      • 天数为5时:SELECT DATEADD(day, 5, '2015-03-01') AS Expected; → 返回2015-03-06
      • 天数为0时:SELECT DATEADD(day, 0, '2015-03-01') AS Expected; → 返回2015-03-01
      • 天数为-13时:SELECT DATEADD(day, -13, '2015-03-01') AS Expected; → 返回2015-02-16
  • 如果天数是表中的列(假设表名为your_table,列名为Days),可以批量查询:

    SELECT Days, DATEADD(day, Days, '2015-03-01') AS Expected
    FROM your_table;
    

内容的提问来源于stack exchange,提问作者kimmstr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 01:12:32