如何在SQL中计算两个日期之间的差异?

问题描述 投票:0回答:1

我想用SQL计算两个日期之间的差异。例如,如果我有以下日期:

  • 开始日期:'2024-11-01'
  • 结束日期:'2024-11-28'

如何计算以下方面的差异:

  1. 几个月

我知道某些 SQL 方言(例如 MySQL、PostgreSQL)具有特定功能,但我正在寻找一种在可能的情况下跨 SQL Server 运行的解决方案。 在 SQL Server 中实现此目的最有效的方法是什么?

这就是我尝试做的

几天

SELECT TIMESTAMPDIFF('2024-11-28', '2024-11-01') AS days_difference;

几个月

SELECT TIMESTAMPDIFF(MONTH, '2024-11-01', '2024-11-28') AS months_difference;

多年来

SELECT TIMESTAMPDIFF(YEAR, '2024-11-01', '2024-11-28') AS years_difference;

但它向我显示了一个错误

sql error-handling
1个回答
0
投票

在sql server中,您可以使用DATEDIFF函数来计算两个日期之间的年、月、日差。

例如天数差异:

SELECT DATEDIFF(DAY, '2024-11-01', '2024-11-28') AS DifferenceInDays;
© www.soinside.com 2019 - 2024. All rights reserved.