如何比较两个日期并找出日期差异是否在3个月内在SQL Server中?
问题描述:
有谁知道如何比较两个日期,并找出日期差异是否在3个月内在SQL Server?如何比较两个日期并找出日期差异是否在3个月内在SQL Server中?
例如,如果我有2个日期:
Start_Date = '2013-02-01'
End_Date = '2013-04-10'
我如何比较两个日期,并找出日期差异是否是在SQL Server中3个月内?
答
考虑使用DATEDIFF
:
SELECT *
FROM YourTable
WHERE DATEDIFF(month, start_date, end_date) <= 3
答
下面是一个使用你在你的问题中提供的两个日期的答案。我给你两种方式。第一栏是3个月内的比较。第二列仅仅是SQL Server系统功能DATEDIFF
的结果。
DECLARE @Start_Date DATE = '2013-02-01',
@End_Date DATE = '2013-04-10'
SELECT CASE
WHEN datediff(MONTH, @Start_Date, @End_Date) <= 3 THEN
'True'
ELSE
'False'
END AS [WithinThreeMonths]
, datediff(MONTH, @Start_Date, @End_Date) [Months]
'其中DATEDIFF(男,日期,结束日期) 2013-04-10 01:39:05
什么是 “三个月内” 的意思是(完全一致)?例如,2月28日和5月31日(相隔92天,非闰年)“三个月内”? 2月1日和5月31日(相隔109天,非闰年)如何? “三个月内”的定义是否在闰年发生变化? – 2013-04-10 03:23:51