功能函数:
1.nvl(字段,表达式) 如果某个字段的值为null就用后面的表达式替换
2.nvl2(exp1,exp2,exp3) 当表达式1为null时,返回表达式3,否则返回表达式2
3.nullif(exp1,exp2) 当exp1=exp2时,返回null,当exp1!=exp2时,返回exp1
4.coalesce(exp1,exp2,..)从左往右,找到第一个不为null的值
5.decode(condition,rs1,a,rs2,b,rs3,c,d) 当condition结果为rs1,返回a,rs2,返回b,rs3,返回c,其他,返回d
6.rollup(exp1,exp2,..)
7.cube(expe1,exp2,..)
8.cast(expr as type_name) 把expr转换成type_name类型
9.to_char(n,[fmt[,nlsparam]]) 把n按照fmt的格式转换成字符
10.to_date(n,[fmt[,nlsparam]])把n按照fmt的格式转换成date
11.to_number(n,[fmt[,nlsparam]]) 将字符串转换成数字
字符函数:
1.lower(表达式) 转换成小写
2.upper(表达式) 转换成大写
3.initcap(表达式) 首字母大写
4.substr(str,index) 从index位置开始截取str
5.substr(str,index,count) 从index位置开始截取str,并截取count个字符
6.instr(source,target,position,occurence) 从source中插座target,并返回target在source第一次出现的位置,position为开始搜索的位置,如果为负数,则从右向左搜索
7.length(str) 返回str的字符数
8.lengthb(str) 返回str的字节数
9.lpad(str1,count,str2) 向str1的左面添加count个str2
10.rpad(str1,count,str2) 向str1的右面添加count个str2
11.trim(str1 from str2) 从str2的两端去掉str1
12.replase(scorce,target,str) 把source中的target用str替换
13.round(number1,index) 四舍五入
select round(45.926,2) 一, round(45.926,1) 二,round(45.926,0) 三,round(45.926,-1) 四, round(45.926,-2) 五 from dual;
14.concat(表达式1,表达式2) 连接表达式1与表达式2
一 二 三 四 五
----- ---------- ---------- ---------- ----------
45.93 45.9 46 50 0
15.chr(n) 将制定的ascii码转换成字符串
16.ascii(char) 将指定的字符串转换成对应的ascii吗
17.rtrim(char,str) 从char的右面删除str
18.ltrim(char,str) 从char的左面删除str
19.nls_charset_id(charsetname) 通过字符集名称得到字符集id
20.nls_charset_name(id) 通过字符集id得到字符集名称
时间函数:[sysdate,systimestamp,dbtimezone]
1.add_months(date,count) 在date的基础上添加count月
2.last_day(date) 查询date所属月份的最后一天的日期
3.next_day(date,target_date) 从date开始算起,下一个target_date的日期
例如:下一个星期三
select next_day(sysdate,'星期三') from dual;
NEXT_DAY(S
----------
2014-06-11
4.extract(datetime) 从datetime中提取出年、月、日、时、分、秒
例如:
select extract(year from sysdate) Y,
extract(month from sysdate) M,
extract(day from sysdate) D,
extract(hour from systimestamp) H,
extract(minute from systimestamp) M,
extract(second from systimestamp) S
from dual;
Y M D H M S
------ ---------- ---------- ---------- ---------- ----------
2014 6 7 9 58 1.625
5.months_between(date1,date2) 得到两个日期之间的月份差(date1>date2时,返回正数,否则返回负数)
数值函数:
1.sum(exp) 求和
2.count() 总记录数(对null值无效)
3.avg(exp) 求平均值
4.abs(n) 求绝对值(可接受可以转换成数据的数据如'100')
5.mod(n1,n2) 求n1/n2的余数(n1,n2可以是能够隐士转换成数据的数据)
6.sign(n) 判断n是整数,负数,0.分别返回1,-1,0
7.bin_to_num(d1,d2,d3..) 把二进制数转换成十进制数(d1,d2,d3为0或1)
1.nvl(字段,表达式) 如果某个字段的值为null就用后面的表达式替换
2.nvl2(exp1,exp2,exp3) 当表达式1为null时,返回表达式3,否则返回表达式2
3.nullif(exp1,exp2) 当exp1=exp2时,返回null,当exp1!=exp2时,返回exp1
4.coalesce(exp1,exp2,..)从左往右,找到第一个不为null的值
5.decode(condition,rs1,a,rs2,b,rs3,c,d) 当condition结果为rs1,返回a,rs2,返回b,rs3,返回c,其他,返回d
6.rollup(exp1,exp2,..)
7.cube(expe1,exp2,..)
8.cast(expr as type_name) 把expr转换成type_name类型
9.to_char(n,[fmt[,nlsparam]]) 把n按照fmt的格式转换成字符
10.to_date(n,[fmt[,nlsparam]])把n按照fmt的格式转换成date
11.to_number(n,[fmt[,nlsparam]]) 将字符串转换成数字
字符函数:
1.lower(表达式) 转换成小写
2.upper(表达式) 转换成大写
3.initcap(表达式) 首字母大写
4.substr(str,index) 从index位置开始截取str
5.substr(str,index,count) 从index位置开始截取str,并截取count个字符
6.instr(source,target,position,occurence) 从source中插座target,并返回target在source第一次出现的位置,position为开始搜索的位置,如果为负数,则从右向左搜索
7.length(str) 返回str的字符数
8.lengthb(str) 返回str的字节数
9.lpad(str1,count,str2) 向str1的左面添加count个str2
10.rpad(str1,count,str2) 向str1的右面添加count个str2
11.trim(str1 from str2) 从str2的两端去掉str1
12.replase(scorce,target,str) 把source中的target用str替换
13.round(number1,index) 四舍五入
select round(45.926,2) 一, round(45.926,1) 二,round(45.926,0) 三,round(45.926,-1) 四, round(45.926,-2) 五 from dual;
14.concat(表达式1,表达式2) 连接表达式1与表达式2
一 二 三 四 五
----- ---------- ---------- ---------- ----------
45.93 45.9 46 50 0
15.chr(n) 将制定的ascii码转换成字符串
16.ascii(char) 将指定的字符串转换成对应的ascii吗
17.rtrim(char,str) 从char的右面删除str
18.ltrim(char,str) 从char的左面删除str
19.nls_charset_id(charsetname) 通过字符集名称得到字符集id
20.nls_charset_name(id) 通过字符集id得到字符集名称
时间函数:[sysdate,systimestamp,dbtimezone]
1.add_months(date,count) 在date的基础上添加count月
2.last_day(date) 查询date所属月份的最后一天的日期
3.next_day(date,target_date) 从date开始算起,下一个target_date的日期
例如:下一个星期三
select next_day(sysdate,'星期三') from dual;
NEXT_DAY(S
----------
2014-06-11
4.extract(datetime) 从datetime中提取出年、月、日、时、分、秒
例如:
select extract(year from sysdate) Y,
extract(month from sysdate) M,
extract(day from sysdate) D,
extract(hour from systimestamp) H,
extract(minute from systimestamp) M,
extract(second from systimestamp) S
from dual;
Y M D H M S
------ ---------- ---------- ---------- ---------- ----------
2014 6 7 9 58 1.625
5.months_between(date1,date2) 得到两个日期之间的月份差(date1>date2时,返回正数,否则返回负数)
数值函数:
1.sum(exp) 求和
2.count() 总记录数(对null值无效)
3.avg(exp) 求平均值
4.abs(n) 求绝对值(可接受可以转换成数据的数据如'100')
5.mod(n1,n2) 求n1/n2的余数(n1,n2可以是能够隐士转换成数据的数据)
6.sign(n) 判断n是整数,负数,0.分别返回1,-1,0
7.bin_to_num(d1,d2,d3..) 把二进制数转换成十进制数(d1,d2,d3为0或1)