急救啊!求类似ifelse判断功能的sql写法!!
如题所说
举个例子,比如说我有表STUDENT , 有列 NAME ,AGE
有几行数据
张三 22
李四 23
王五 28
赵六 18
。。。
想要一条sql语句:做一个统计,得到年龄大于24的同学,不大于24的同学也给显示出来,但年龄变为"不满足条件"
(举的是例子 没有实际意义)
结果应该是这样
张三 不满足
李四 不满足
王五 28
赵六 不满足
结果还是4行 行数必须和原表是一样的。
这个sql怎么写??求大神指导我,感激不尽!
[解决办法]
用case when else end语句就可以了
select name, (case when age > 24 then age else '不满足' end) as user_condition from your_table
[解决办法]
oracle的话,可用#2的,但age要转一下类型,否则与后面的不配,以下的测试成功:
select name, (case when age > 24 then to_char(age) else '不满足' end) as user_condition
from test
[解决办法]
用decode也可以:
select name, decode(sign(24-age),-1, to_char(age),'不满足') as user_condition
from test
/