如何比较两个日期并找出SQL Server中的日期差异是否在3个月内?

时间:2013-04-10 01:35:31

标签: sql-server

有谁知道如何比较两个日期并找出SQL Server中的日期差异是否在3个月内?

如果我有2个日期的示例:

Start_Date = '2013-02-01'
End_Date = '2013-04-10'

如何比较两个日期并找出SQL Server中的日期差异是否在3个月内?

2 个答案:

答案 0 :(得分:1)

使用DATEDIFF

SELECT *
FROM YourTable
WHERE DATEDIFF(month, start_date, end_date) <= 3

SQL Fiddle Demo

MSDN:http://msdn.microsoft.com/en-us/library/ms189794.aspx

答案 1 :(得分:0)

以下是您在问题中提供的两个日期的答案。我把它给了你两种方式。第一列是对比是否在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]