2017-08-25 98 views
0

我有一个名称和出生日期的表格。我使用datepart将dob转换为出生月份。现在我需要添加一列来描述出生月份是在上半年还是下半年。我似乎无法弄清楚如何做到这一点。为类别添加列

这里是到目前为止我的代码:

SELECT patient_nm, dob 
FROM edw_emr_ods.patients; 

SELECT patient_nm, datepart(month from edw_emr_ods.patients.dob) as dob_month 
FROM edw_ods.patients; 

我知道这可能是一个非常基本的问题,但任何帮助将是惊人的。

回答

0

你可以尝试以下方法:

SELECT 
    patient_nm 
    ,DATEPART(MONTH, edw_emr_ods.patients.dob) AS dob_month 
    ,CASE 
     WHEN DATEPART(MONTH, edw_emr_ods.patients.dob) <= 6 THEN 'First Half' 
     WHEN DATEPART(MONTH, edw_emr_ods.patients.dob) > 6 THEN 'Second Half' 
     ELSE 'not a valid date' 
    END 
FROM edw_ods.patients; 

仅供参考 - 你的代码有一个错字,也不会执行。您的DATEPART函数需要有日期部分(月份),后面跟着逗号和包含日期的表达式。我在上面的示例中修复了它。