11、内部统计函数。
avg(value):计算平均值,它的参数来自它所作用的若干行。
stddev(value):返回它所作用的若干行作为参数的标准差。
variance(value):返回它所作用的若干行作为参数的协方差。
12、四舍五入函数和截取函数
四舍五入函数round(value, [scale])
select round(123.26) from dual
结果
123
select round(123.26, 1) from dual
结果
123.3
截取函数trunc(value, [scale])
select trunc(123.26) from dual
结果
123
select trunc(123.26, 1) from dual
结果
123.2
求最大整数floor(value) 等同于 trunc(value)
求最小整数cell(value)等同于round(value)
13、求最大或最小值
max(value)和min(value)
返回它所作用的若干行作为参数最大值、最小值。
14、更替null
nvl(expr1,expr2):expr1位NULL,返回expr2;不为NULL,返回expre1。类型要一致
nvl2(expr1, expr2, expr3):expr1不为NULL,返回expr1;为NULL,返回expr3。expre2和expre3类型不同的话,expre3会转换为expr2的类型。
select nvl(123.26, 1) from dual
结果
123.26
select nvl(null, 1) from dual
结果
1
15、统计函数(count)
count函数用于统计返回结果的记录数。
select count(*) from users
结果
273
配合distinct的应用
count(distinct value)
select count(user_roles) from users
结果
273
结果为所有user_roles字段不为null
16、chr函数
chr函数将参数给定的整数转换为需要的字符
select chr(48) from dual;
结果
‘0’
17、连接两个字符串(concat)
select concat('0663-','322344')||' 不是我家里的电话' from dual;
结果
0663-322344 不是我家里的电话
18、查找字符串的子串(instr)
用法
instr(srcstr, dststr, start, end)
其中:
srcstr是要被搜索的字符串
dststr是希望搜索的字符串
start:搜索的起始位置,默认为1
end:默认出现的位置。
select instr('123456', '45', 1,1) from dual;
结果
4
select instr('123456', '45', 1,10) from dual;
结果
0
select instr('123456', '45') from dual;
结果
4
19、获取绝对值(abs)
select abs(-100) from dual;
结果
100
20、取余数(mod)
用法:
mod(n1, n2)
返回n1除以n2的余数。
select mod(123,10) from dual;
结果
100