1、decode函数
decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
1)比较大小
select decode(sign(变量1-变量2),-1,变量1,变量2) from dual;
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
2)select SUM(decode(性别,男,1,0)),SUM(decode(性别,女,1,0)) from 表
3)order by对字符列进行特定的排序
例:表table_subject,有subject_name列。要求按照:语、数、外的顺序进行排序。
select * from table_subject order by decode(subject_name, '语文', 1, '数学', 2, , ' 外语',3)
2、order by 配合 rownum取按时间排序最近一条
desc(从大到小) asc(从小到大)
SELECT
*
FROM
( SELECT * FROM TABLE WHERE id = '123' ORDER BY happenTime DESC )
WHERE
ROUNUM = 1
3、case when函数
1)基本