Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 比较两个日期/时间字段,查看它们是否在60天内发生_Sql_Sql Server - Fatal编程技术网

Sql 比较两个日期/时间字段,查看它们是否在60天内发生

Sql 比较两个日期/时间字段,查看它们是否在60天内发生,sql,sql-server,Sql,Sql Server,我有一个这样的数据集 Member Open_date Mort_Close_date Share_type 1 6/1/2020 1 1 5/5/2020 2 1 9/15/2020 3 我试图写一份案例陈述书或一份iif陈述书,统计在抵押贷款到期日结束后60天内开立的账户数量。因此,在

我有一个这样的数据集

Member   Open_date     Mort_Close_date  Share_type
1        6/1/2020                          1
1                       5/5/2020           2
1        9/15/2020                         3  
我试图写一份案例陈述书或一份iif陈述书,统计在抵押贷款到期日结束后60天内开立的账户数量。因此,在上面的示例中,它返回一个计数1,因为只有第三个在60多天后才打开。问题是,我觉得这段代码离我们不远。即使下面的代码起作用了,它也不起作用,当成员匹配时,我如何只比较打开日期和关闭日期

CASE WHEN DATEDIFF(d, S.Open_Date,  MC_LOAN_DATE) <= 60, THEN 'Open New Account within 60 days'
ELSE 'No Accounts Opened') END AS NewAccountsOpened

我想这正是你想要的:

select count(*)
from t
where exists (select 1
              from t t2
              where t2.member = t.member and
                    t2.open_date >= t.mort_close_date and
                    t2.open_date < dateadd(day, 60, mort_close_date)
             );