- 比较大小函数 sign(a-b)
- a=b 返回 0
- a>b 返回 1
- a<b 返加 -1
- 流程控制函数 DECODE 目前只有oracle公司的SQL提供了此函数
- decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
应用:行转列
表结构:TEST_TB_GRADE:
create table TEST_TB_GRADE
(
ID NUMBER(10) not null,
USER_NAME VARCHAR2(20 CHAR),
COURSE VARCHAR2(20 CHAR),
SCORE FLOAT
)
主要原理是利用decode函数、聚集函数(sum),结合group by分组实现的,具体的sql如下:
select t.user_name,
sum(decode(t.course, '语文', score,null)) as CHINESE,
sum(decode(t.course, '数学', score,null)) as MATH,
sum(decode(t.course, '英语', score,null)) as ENGLISH
from test_tb_grade t
group by t.user_name
order by t.user_name
- concat(str1,str2)
将两个字段连起来。只能有两个参数。如果要连多个,可以用||.