Oracle 的函数
函数:
1.字符函数:
姓名按小写:
selectlower(emp_code)from cvms_start_work_order
姓名大写:
selectupper(emp_code)from cvms_start_work_order
长度为5位的员工号:
select emp_code from cvms_start_work_order where length(emp_code)=5;
字符的截取:
selectsubstr(emp_code,1,2)from cvms_start_work_order;//1是起始位置,2是个数;
以首页字母大写显示员工的姓名:
selectupper(substr(emp_code,1,1))||lower(substr(emp_code,2,length(emp_code)-1))from cvms_start_work_order
替换字母:将“S”变为”ljf”
selectreplace(emp_code,'S','ljf')from cvms_start_work_order
2. 数学函数:
Roud():四舍五入:
selectround(70/2571135,5)*100from cvms_start_work_order
turnc:截取数字:m为整数,表示截取小数点之后的位数,全部换成0;m为负数代表向左截取;
selecttrunc(2578943.085)from cvms_start_work_order
2578943
selecttrunc(2578943.085,-2)from cvms_start_work_order
2578900
Floor(),向下取整数;
Ceil(),向上取整数
4.查询oracle当前日期
Selectsysdate from cvms_user;
5. add_months(d,n);
查找入职大于8个月的员工:
Select * from temp where sysdate>=add_months(ruzhidate,8);
查找入职满10年的员工姓名,年龄
Select name,age from temp wheresysdate>=add_months(ruzhidata,12*10);
查询员工入职的天数:
Select trunc(sysdate-hiredate) as ‘天数’ from temp ;
查询某日期所在月的最后一天:
Select * from temp where last_day(hireday);
select start_time,last_day(start_time)from cvms_start_work_order whererownum<5;
倒数第三天:
select start_time,last_day(start_time)-2from cvms_start_work_order whererownum<5;
转换函数:oracle会隐含的转换函数:如 ‘10’----10
去得2014年的数据:
select start_time from cvms_start_work_order where to_char(start_time,'yyyy')='2014'
将日期转换成字符串:to_cahr();
将字符串转换成日期:to_date();
对于日期函数:
1.为日期加上指定的函数:add_months(date,integer);
select last_load_time ,add_months(last_load_time,1)from cvms_white_list;
1 2014/6/22 2014/7/22
2 2014/6/23 2014/7/23
3 2014/6/23 2014/7/23
4 2014/6/23 2014/7/23
2.返回指定月份的最后一天:
select last_load_time ,last_day(last_load_time)from cvms_white_list;
1 2014/6/22 2014/6/30
2 2014/6/23 2014/6/30
3 2014/6/23 2014/6/30
4 2014/6/23 2014/6/30
3.返回指定日期后一周的日期:
select last_load_time ,next_day(last_load_time,'星期一')from cvms_white_list;
1 2014/6/22 2014/6/23
2 2014/6/23 2014/6/30
3 2014/6/23 2014/6/30
4 2014/6/23 2014/6/30
4.获取当前日期的:
selectsysdatefrom cvms_white_list;
5.获得两个日期的月份数:
Months_between(date1,date2);
6.替换null值的函数:
selectserver_ip,nvl(to_char(last_load_time,'yyyy-mm-dd HH24:MI:SS'),'0') fromcvms_white_list;
nvl(‘xxx’,’’);为空装换成空字符串,在Java中获得还是为null;
相关文章
- oracle自定义判断数据是否为数值函数
- Oracle窗口函数显示想要的行数
- Oracle SQL高级编程——分析函数(窗口函数)全面讲解
- ORA-00257: archiver error. Connect internal only, until freed.| Oracle数据库归档日志满导致应用系统反应缓慢的问题处理
- Linux中Oracle启动侦听报错TNS:permission denied的解决方法
- oracle 中 to_date 函数的用法
- oracle数据库中的存储函数
- Oracle宣布很多其它的Java 9 新特性
- Oracle入门第三天(上)——多表查询与分组函数
- Oracle入门第二天(下)——单行函数
- oracle_集合函数
- ORACLE函数之LISTAGG
- 【oracle】 十进制和十六进制相互转换函数
- oracle中的trigger
- 【函数】Oracle函数系列(2)--数学函数及日期函数
- 【知识点整理】Oracle中NOLOGGING、APPEND、ARCHIVE和PARALLEL下,REDO、UNDO和执行速度的比较
- Oracle 10gR2分析函数
- ORACLE函数之单行数字函数
- Oracle分析函数入门
- ORACLE函数之单行转换函数
- Oracle JDK 和 OpenJDK 的选择及区别
- 误删数据?如何快速恢复Oracle数据库
- oracle中的分析函数
- oracle行转列函数的用法【我】
- Oracle表连接