我有一个PERSON表,其中有两列(当然我有其他人,但我只需要两个)名为Age
和Person_Type
。现在根据Age
值,我必须Person_Type
作为婴儿,儿童和成人。
Age Person_Type
0 to 3 Infant
4 to 12 Child
>=13 Adult
我在计算列中尝试了以下但它无效。任何想法怎么办?我很困惑。
(case when [Pax_Type_Id]=(3) OR [Pax_Type_Id]=(2) OR [Pax_Type_Id]=(1) OR [Pax_Type_Id]=(0) then 'Infant' when [Pax_Type_Id]=(12) OR [Pax_Type_Id]=(11) OR [Pax_Type_Id]=(10) OR [Pax_Type_Id]=(9) OR [Pax_Type_Id]=(8) OR [Pax_Type_Id]=(7) OR [Pax_Type_Id]=(6) OR [Pax_Type_Id]=(5) OR [Pax_Type_Id]=(4) then 'Child' when [Pax_Type_Id]>=(13) then 'Adult' end)
答案 0 :(得分:2)
你可以试试这个:
SELECT AGE, CASE WHEN AGE BETWEEN '1' AND '3' THEN 'INFANT' WHEN AGE BETWEEN '4' AND '12' THEN 'CHILD' WHEN AGE >='13' THEN 'ADULT' ELSE '' END PERSON_TYPE FROM PERSON
答案 1 :(得分:-1)
SELECT CASE WHEN Age BETWEEN 0 AND 3 THEN 'Infant'
WHEN Age BETWEEN 4 AND 12 THEN 'Child'
WHEN Age >=13 THEN 'Adult'
END AS Person_type
FROM PERSON