环境:oracle
表test,结构如下:
ID name grade
1 a 80
2 b 95
3 c 85
4 d 96
5 e 98想得到如下的结果:
ID name grade
1 a
2 b 95
3 c
4 d 96
5 e 98即是如果grade大于90,grade栏正常显示成绩,如果grade不大于90,则grade显示空,SQL该如何写?
表test,结构如下:
ID name grade
1 a 80
2 b 95
3 c 85
4 d 96
5 e 98想得到如下的结果:
ID name grade
1 a
2 b 95
3 c
4 d 96
5 e 98即是如果grade大于90,grade栏正常显示成绩,如果grade不大于90,则grade显示空,SQL该如何写?
SQL> select * from test; ID NAME GRADE
---------- ---------------- ----------
5 e 98
4 d 96
3 c 85
2 b 95
1 a 80SQL>
SQL> select id,name,
2 case
3 when grade>=90 then grade
4 else null
5 end grade
6 from test; ID NAME GRADE
---------- ---------------- ----------
5 e 98
4 d 96
3 c
2 b 95
1 a SQL>
case when grade > 1400 then grade
else null
end "grade"
from test;
from test
顺便学习一下sign函数的用法
sign(x)
x>0 返回 1
x=0 返回 0
x<0 返回 -1