我是SQl的新手,我试着自己学习。
我正在学习if和the语句在SQL中的用法。
下面是我试图使用的数据,在下表中的if或let语句中,我希望使用sql查询根据年龄更新注释,如果年龄在22岁到25岁之间,则注释“未毕业”。
Age: 26 to 27, comments " post graduate"
Age: 28 to 30, comments "working and single"
Age: 31 to 33, comments " middle level manager and married"表名:人员
personid lastname firstname age comments
1 Cardinal Tom 22
2 prabhu priya 33
3 bhandari abhijeet 24
4 Harry Bob 25
5 krishna anand 29
6 hari hara 31
7 ram hara 27
8 kulkarni manoj 35
9 joshi santosh 28发布于 2014-01-15 05:42:04
用CASE语句尝试
Select personid,lastname,firstname,age,
Case when age between 26 and 27 then 'post graduate'
when age between 28 and 30 then 'working and single'
when age between 31 and 33 then ' middle level manager and married'
Else 'Nil'
End comments
from persons发布于 2014-01-15 05:41:18
我可能会用一个案例语句
有点像
SELECT *,
CASE
WHEN age BETWEEN 22 AND 25
THEN 'under graduate'
WHEN age BETWEEN 26 AND 27
THEN 'post graduate'
WHEN age BETWEEN 28 AND 30
THEN 'working and single'
WHEN age BETWEEN 31 AND 33
THEN 'middle level manager and married'
ELSE 'TADA'
END Comment
FROM persons发布于 2014-01-15 07:12:48
根据您的要求,我们不能使用if...else语句。Case..when语句将是最合适的。还有一件事我们不能在任何查询中使用if...else (我指的是在select、insert、update内部)。
还有你的
Select personid,lastname,firstname,age,
Case when age between 26 and 27 then 'post graduate'
Case when age between 28 and 30 then 'working and single'
Case when age between 31 and 33 then ' middle level manager and married'
Else 'Nil'
End comments
from personshttps://stackoverflow.com/questions/21129766
复制相似问题