2017-08-25 99 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函數需要有日期部分(月份),後面跟着逗號和包含日期的表達式。我在上面的示例中修復了它。