2017-08-25 7 views
0

J'ai une table avec un nom et une date de naissance. J'ai converti le dob en mois de naissance en utilisant une date. Maintenant, je dois ajouter une colonne pour décrire si le mois de naissance est dans la première moitié de l'année ou la seconde moitié. Je n'arrive pas à comprendre comment faire ça.Ajout de colonnes pour les catégories

Voici mon code à ce jour:

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; 

Je sais que c'est probablement une question assez basique mais toute aide serait incroyable.

Répondre

0

Vous pouvez essayer ce qui suit:

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; 

Pour votre information - votre code avait une faute de frappe et n'exécuterait. Votre fonction DATEPART doit avoir la datepart (mois) suivie par une virgule et l'expression contenant la date. Je l'ai corrigé dans mon exemple ci-dessus.