6、NULL函数
1.COALESCE(expr)
返回表达式列表中第一个不为NULL的函数,如果都为NULL,则返回一个null
SELECT COALESCE(NULL,9-9,NULL) FROM TABLE_NAME;
2.LNNVL(condition)
返回除了condition要求的条件之外的数据,包括NULL的条件,通常用于WHERE条件中
SELECT COLUMN_NAME1,...COLUMN_NAME2 FROM TABLE_NAME WHERE LNNVL(condition);
3.NVL(expr1,expr2[,expr3])
NVL(expr1,expr2),替换NULL值,如果expr1为NULL值,则返回expr2的值,否则返回expr1的值。该函数要求两个参数类型一致至少相互
之间可以进行隐式的转换
SELECT NVL(COLUMN_NAME1,COLUMN_NAME2) FROM TABLE_NAME;
NVL(expr1,expr2,expr3),,替换NULL值,如果expr1为NULL值,则返回expr2的值,否则返回expr3的值。该函数要求expr2、expr3参数
类型一致至少相互之间可以进行隐式的转换
SELECT NVL(COLUMN_NAME1,COLUMN_NAME2,COLUMN_NAME3) FROM TABLE_NAME;
7、集合函数
1.AVG([distinct l all] expr)
求取列的平均值,表示某组的平均值,返回数值类型
distinctlall:去除重复的值
all:表示所有的值,包括重复的,也是默认值
expr:表达式,只能是数值类型
SELECT AVG(ALL COLUMN_NAME) FROM TABLE_NAME [WHERE CONDITION];
2.MAX([distinct l all] expr) MIN([distinct l all] expr)
指定列的最大值和最小值
SELECT * FROM TABLE_NAME WHERE COLUMN_NAME = (SELECT MAX(COLUMN_NAME) FROM TABLE_NAME);
SELECT * FROM TABLE_NAME WHERE COLUMN_NAME = (SELECT MIN(COLUMN_NAME) FROM TABLE_NAME);
3.SUM([distinct l all] expr) MIN([distinct l all] expr)
求和函数,返回制定列的数值和
SELECT SUM(ALL COLUMN_NAME) FROM TABLE_NAME [WHERE CONDITION];
4.COUNT([distinct l all] expr) MIN([distinct l all] expr)
返回查询的记录数
SELECT COUNT(ALL COLUMN_NAME) FROM TABLE_NAME [WHERE CONDITION];
8、其他函数
1.USER
返回登录名函数
SELECT USER FROM DUAL;
2.USERENV(parameter)
返回当前会话信息
parameter:Language 返回当前会话对应语言和字符集
parameter:SESSIONID 返回当前会话ID
parameter:ISDBA 返回当前用户是否DBA
SELECT USERENV('ISDBA') FROM TABLE_NAME [WHERE CONDITION];
3.SYS_CONTEXT(namespace,parameter)
返回oracle已经创建的context,名为USERENV的属性对应值
4.DECODE(expr,search,result[,search1,result1][,default])
表达式匹配函数,当expr符合条件search时返回result的值,该过程可以重复多个,如果没有匹配结果放回默认值default,这是一对一匹配过程,
类似switch