oracle中的常用函数
2012-05-09 21:22
260 查看
1,===========字符函数
·lower(char)
·upper(char)
·length(char)
·substr(char,begin,length)
这里要注意一下下的是:begin 是从第几个开始,length是指取多长,不要和java中substring混淆了,java中的substring中的最后一个参数是取到第几个位置
·replace(char1,char2,char3)
把char1中的char2字符替换成char3字符
·instr(char, ch , n , m) --找到ch在char中的位置,返回的是一个整数,表示出现的位置
n : 从char中的第几个字符开始找,可以是负数,如果是负数的话,那么从最后面开始找,
m : 找第几次出现的位置
demo:
SQL> SELECT INSTR('CORPORATE FLOOR','OR', -1, 2) from dual;
找到‘OR’在 'CORPORATE FLOOR'中出现的位置,但是是从最后面开始找,从前面数第一个出现的位置:
结果是 : 5
2,========数值函数,
·round(n[, m ]): 四舍五入函数,m 是保留的小数位,如果是负数的话,就是整数位
SQL> select round(1203.352,-1) from dual; -- 1200
·trunc(n[, m]) : 只舍不入函数,和round一样,只是这个函数不会进行五入的操作
·mod(n,m) :取余
·floor(n):不大于n 的最大整数
·ceil(n) :不小于n 的最小整数
其他的一些不常用的数值函数请查阅文档。。。
3,=========日期函数
·sysdate : 系统时间
·add_months(date, n ) : 增加月份
?显示入职超过20年的员工信息
SQL>select * from emp where sysdate > add_months(hiredate, 240); --增加月份
·last_day(date) : 显示每个月的最后一天的日期
?查询每个月的最后三天入职的员工信息
SQL> select * from emp where hiredate > last_day(hiredate)-3 ;
·to_date(char,format): 在字符串转换为固定日期格式
SQL > insert into emp values(....., to_date('1990-02-12','yyyy-mm-dd') ,....);
·to_char(sysdate,'yyyy') 得到年
to_char(sysdate,'MM') 得到月
to_char(sysdate,'Q') 得到季度,1-3为第一季度
to_char(sysdate,'ddd') 得到一年中的第几天
to_char(sysdate,'dd') 得到一个月中的第几天
to_char(sysdate,'d') 得到一周中的第几天
to_char(sysdate,'dy') 得到中文的星期几,如:星期六
to_char(sysdate,'ww') 得到当年的第几周
to_char(sysdate,'w') 得到当月的第几周
to_char(sysdate,'hh24') 得到小时,24小时制的
to_char(sysdate,'hh12')
to_char(sysdate,'mi') 得到分钟
to_char(sysdate,'ss') 得到秒
?显示入职超过20年的员工信息
SQL>select * from emp where to_char(hiredate+ 20,'yyyy') < to_char(sysdate,'yyyy') ;
4,转换函数
在oracle中有些情况下会自动转换类型:
如:
· create table test(tid number(4));
insert into test values('1001'); -- oracle 会把‘1001’转换为1001
·create table test(tid varchar2(4));
insert into test values(1001); -- oracle 会把 1001 转换为‘1001’
但是很多情况下,oracle需要借助转换函数来转换:
如:
to_date(); --在上面的日期函数的时候有提到
to_char(); -- 上面在日期函数的时候有说道
SQL> select ename,to_char(sal,'L99,999.99') from emp ; ---为什么是五个9,因为sal字段的长度是number(7,2) ;
5,======系统函数
·lower(char)
·upper(char)
·length(char)
·substr(char,begin,length)
这里要注意一下下的是:begin 是从第几个开始,length是指取多长,不要和java中substring混淆了,java中的substring中的最后一个参数是取到第几个位置
·replace(char1,char2,char3)
把char1中的char2字符替换成char3字符
·instr(char, ch , n , m) --找到ch在char中的位置,返回的是一个整数,表示出现的位置
n : 从char中的第几个字符开始找,可以是负数,如果是负数的话,那么从最后面开始找,
m : 找第几次出现的位置
demo:
SQL> SELECT INSTR('CORPORATE FLOOR','OR', -1, 2) from dual;
找到‘OR’在 'CORPORATE FLOOR'中出现的位置,但是是从最后面开始找,从前面数第一个出现的位置:
结果是 : 5
2,========数值函数,
·round(n[, m ]): 四舍五入函数,m 是保留的小数位,如果是负数的话,就是整数位
SQL> select round(1203.352,-1) from dual; -- 1200
·trunc(n[, m]) : 只舍不入函数,和round一样,只是这个函数不会进行五入的操作
·mod(n,m) :取余
·floor(n):不大于n 的最大整数
·ceil(n) :不小于n 的最小整数
其他的一些不常用的数值函数请查阅文档。。。
3,=========日期函数
·sysdate : 系统时间
·add_months(date, n ) : 增加月份
?显示入职超过20年的员工信息
SQL>select * from emp where sysdate > add_months(hiredate, 240); --增加月份
·last_day(date) : 显示每个月的最后一天的日期
?查询每个月的最后三天入职的员工信息
SQL> select * from emp where hiredate > last_day(hiredate)-3 ;
·to_date(char,format): 在字符串转换为固定日期格式
SQL > insert into emp values(....., to_date('1990-02-12','yyyy-mm-dd') ,....);
·to_char(sysdate,'yyyy') 得到年
to_char(sysdate,'MM') 得到月
to_char(sysdate,'Q') 得到季度,1-3为第一季度
to_char(sysdate,'ddd') 得到一年中的第几天
to_char(sysdate,'dd') 得到一个月中的第几天
to_char(sysdate,'d') 得到一周中的第几天
to_char(sysdate,'dy') 得到中文的星期几,如:星期六
to_char(sysdate,'ww') 得到当年的第几周
to_char(sysdate,'w') 得到当月的第几周
to_char(sysdate,'hh24') 得到小时,24小时制的
to_char(sysdate,'hh12')
to_char(sysdate,'mi') 得到分钟
to_char(sysdate,'ss') 得到秒
?显示入职超过20年的员工信息
SQL>select * from emp where to_char(hiredate+ 20,'yyyy') < to_char(sysdate,'yyyy') ;
4,转换函数
在oracle中有些情况下会自动转换类型:
如:
· create table test(tid number(4));
insert into test values('1001'); -- oracle 会把‘1001’转换为1001
·create table test(tid varchar2(4));
insert into test values(1001); -- oracle 会把 1001 转换为‘1001’
但是很多情况下,oracle需要借助转换函数来转换:
如:
to_date(); --在上面的日期函数的时候有提到
to_char(); -- 上面在日期函数的时候有说道
SQL> select ename,to_char(sal,'L99,999.99') from emp ; ---为什么是五个9,因为sal字段的长度是number(7,2) ;
5,======系统函数
相关文章推荐
- Oracle常用函数整理
- SQLServer和Oracle的常用函数对比
- oracle 常用函数
- oracle相关总结3-常用函数
- SQLServer和Oracle的常用函数对比
- oracle常用函数
- Oracle常用函数(持续更新)
- ORACLE常用数值函数、转换函数、字符串函数介绍
- Oracle常用函数Trunc及Trunc函数用法讲解
- SQLServer和Oracle常用函数对比
- oracle常用函数总结
- 【Oracle 学习笔记】Day 1 常用函数整理(转换、DeCode),表的外键
- Oracle中常用函数总结
- Oracle 常用的一些函数
- Oracle常用函数
- Oracle常用函数汇总
- oracle常用函数(四)----转换函数
- ORACLE 常用函数——聚合函数
- SQL Server和Oracle的常用函数对比
- 110个oracle常用函数总结