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

如何在SQL中实现日期字段与当前日期的减法运算?

数据库日期字段与当前日期的减法运算方法

不同数据库的日期运算语法略有差异,以下是主流数据库的实现方式:

MySQL

使用DATEDIFF()函数计算两个日期的天数差,当前日期可通过CURDATE()获取(仅日期部分):

SELECT DATEDIFF(CURDATE(), your_date_column) AS day_difference
FROM your_table;

如果字段是datetime类型,想忽略时间部分,可先转成日期:

SELECT DATEDIFF(CURDATE(), DATE(your_date_column)) AS day_difference
FROM your_table;

注:DATEDIFF()的参数顺序是结束日期在前,开始日期在后。

PostgreSQL

直接对日期做减法即可得到天数差,或用AGE()函数获取更详细的时间间隔:

-- 获取天数差
SELECT CURRENT_DATE - your_date_column AS day_difference
FROM your_table;

-- 获取包含年/月/日的完整间隔
SELECT AGE(CURRENT_DATE, your_date_column) AS date_interval
FROM your_table;

SQL Server

使用DATEDIFF()函数,需指定间隔单位(如day表示天数),当前日期用GETDATE()或CURRENT_DATE:

SELECT DATEDIFF(day, your_date_column, GETDATE()) AS day_difference
FROM your_table;

若需忽略时间部分,可将字段和当前日期转成日期类型:

SELECT DATEDIFF(day, CAST(your_date_column AS DATE), CAST(GETDATE() AS DATE)) AS day_difference
FROM your_table;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:15:56