使用DateAdd函数计算SQL中的2个日期

时间:2014-12-07 17:59:33

标签: sql sql-server tsql

我试图找出并标记患者是否在第一次出现在ER中的一天内进行了X光检查。

SELECT perosonID,
       xray_code,
       xray_date,
       admit_date,
       CASE
         WHEN xray_code IN ( '212', '345', '489' )
              AND admit_date BETWEEN DateAdd(day, 0, xray_date) 
                                 AND DateAdd(day, 1, xray_date) THEN 1
         ELSE 0
       END AS flag
FROM   my table 

我的结果似乎是错的,我不确定我在这里做错了什么。感谢

1 个答案:

答案 0 :(得分:0)

Select perosonID
     , xray_code
     , xray_date
     , admit_date
     , Case when xray_code in (‘212’, 345’, ‘489’) 
             and  DATEDIFF(DAY, admit_date, xray_date) <= 1 
             then 1 
        else 0 end as flag
from my table