SQL Server 用于确定(A)的测试日期是否在测试日期(B)的N天内,然后返回包含这两个日期的成员行的SQL代码

ckocjqey  于 2023-01-12  发布在  其他
关注(0)|答案(1)|浏览(131)

我正在Teradata中编写一个SQL查询,以确定哪些成员在4天内完成了eGFR和uACR测试。所有测试都被正确引入,但不确定在WHERE子句中由谁执行此操作。SQL Code Sample
我只需要返回的数据,这是真的。
我试过这个

AND [uACR_2b_2_DATE] <= ([uACR_2b_1_DATE] + 4 Days)

也称为other attempt
sample code2

xuo3flqw

xuo3flqw1#

在sql server中有DATEDIFF来确定距离,它可以用天、小时等来表示。

DECLARE
 @dt1 DATETIME = '20230102 23:59:59' 
 ,@dt2 DATETIME = '20230103 00:00:00'

SELECT difference_ABS = ABS( DATEDIFF(DAY, @dt1, @dt2) )

这忽略了时间部分,并给出了日期部分的绝对距离(没有负数)。所以在这个例子中,你得到了一天的距离,尽管两个时间戳相隔一分钟。如果这是你想要使用的,就把它放在WHERE-CLAUSE中,如下所示

ABS( DATEDIFF(DAY, uACR_2b_1_DATE, uACR_2b_2_DATE) ) <= 4

相关问题