Sql server 检查t-SQL中两个日期之间的差异

Sql server 检查t-SQL中两个日期之间的差异,sql-server,tsql,sql-server-2016,date-difference,Sql Server,Tsql,Sql Server 2016,Date Difference,使用T-SQL检查两个日期之间是否正好在3个月内的最佳方法 例如,如果我在下面有这两个日期,我想检查@Date1是否在@Date2之后的3个月内,反之亦然 DECLARE @Date1 DATETIME = '2019-01-15 00:00:00.000' DECLARE @Date2 DATETIME = '2018-10-23 00:00:00.000' 你可以试试这个 DECLARE @Date1 DATETIME = '2019-01-15 00:00:00.000'

使用T-SQL检查两个日期之间是否正好在3个月内的最佳方法

例如,如果我在下面有这两个日期,我想检查@Date1是否在@Date2之后的3个月内,反之亦然

 DECLARE @Date1 DATETIME = '2019-01-15 00:00:00.000'

 DECLARE @Date2 DATETIME = '2018-10-23 00:00:00.000'
你可以试试这个

  DECLARE @Date1 DATETIME = '2019-01-15 00:00:00.000'

  DECLARE @Date2 DATETIME = '2018-10-23 00:00:00.000'

  SELECT dateadd(MONTH, 3,@Date1 ) >= @Date2 

以下是简单的陈述:

选择absDATEDIFFmonth、@date1、@date2您可以尝试

    DECLARE @Date1 DATETIME = '2019-01-15 00:00:00.000'

    DECLARE @Date2 DATETIME = '2018-10-23 00:00:00.000'



   SELECT CASE WHEN ABS(DATEDIFF(DAY, @date1, @date2)) <= 90 THEN 'Inside 3 Months' 
ELSE 'Outside 3 months' END

定义3个月?90天?2019年2月28日是否与2018年11月30日相隔三个月?也可精确定义为三个月。彼此相隔3个月内?正好相隔3个月?还有什么?虽然问题不清楚,但我很确定答案可以在这里找到:是的,2019年2月28日和2018年10月30日是3个月。这正好是3个月而不是90天,即2019年1月15日和2018年10月15日是可以的,但2019年1月15日和2018年10月14日已经过去。根据OP中提供的解释,这是不正确的。根据您的回答,1月31日和4月1日相隔3个月。