zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Oracle 的函数

Oracle 函数
2023-09-27 14:22:12 时间

函数:

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;