oracle 常用函数

oracle 常用函数

1、trim:去掉字符串两头的空格

select trim(' abc ') from dual;

结果去除两边空格返回 abc。

2、replace:替换字符

select replace('abc','a','b') from dual;

结果将b替换a返回bbc。

3、||:结果拼接展示

select 'i love'||' you' from dual;

结果返回 i love you。

4、last_day:展示本月最后一天

select last_day(sysdate) from dual;

结果返回当前系统时间对应月的最后一天 2020/10/31。

5、upper:将小写字母转换为大写

select upper('ab') from dual;

结果返回 AB。

6、lower:将大写字母转换为小写

select lower('AG') from dual;

结果返回 ag。

7、abs:取绝对值

select abs(-32) from dual;

结果返回 32。

8、ceil:向上取整(向最大整数取)

select ceil(12.3) from dual;
select ceil(-12.3) from dual;

第一个sql结果返回13,第二个sql结果返回-12。

9、floor:向下取整(向最小整数取)

select ceil(12.3) from dual;
select ceil(-12.3) from dual;

第一个sql结果返回12,第二个sql返回结果 -13。

10、to_date:将数字或字符串转化为时间

select to_date('20201231','yyyymmdd') from dual;

结果返回20201231。

11、to_char:将数字或者时间转换为字符串

select to_char(sysdate,'yyyymmdd') from dual;

结果返回20201023。

12、to_number:将字符串转换为数字

select to_number('1231') from dual; 

结果返回1231。

13、trunc():
13.1.1、 一个参数{即trunc()括号里只有一个字段、字符串或者数字}的时候处理时间格式,去掉时分秒:

select trunc(sysdate) from dual;

返回结果20201231。

13.1.2、一个参数的时候处理数字格式,只取整数部分:

select trunc(-97.2) from dual;
select trunc(97.6) from dual;

第一个sql返回-97,第二个sql返回97.6。

13.2.1、二个参数{即trunc()括号里有一个字段和具体参数组合、或者字符串和具体参数组合、或者数字和具体参数组合}的时候处理时间格式,获取时间:

select trunc(sysdate,'mm') from dual;
select trunc(sysdate,'yy') from dual;
select trunc(sysdate,'yyyy') from dual;
select trunc(sysdate,'dd') from dual;
select trunc(sysdate,'d') from dual;

第一个sql结果返回本月第一天,第二个和第三个sql结果都是返回本年第一天,第四个sql返回当前年月日,第五个sql返回本周的第一天。

13.2.2、二个参数获取数字格式,从小数点往后截取对应位数,无四舍五入{若第二个参数为负数,则从小数点开始向左前截取(从小数点开始)}:

select trunc(12.356,2) from dual;
select trunc(-156.1,-2) from dual;

第一个sql结果返回12.35,第二个sql结果返回-100。

14、round:
14.1.1、一个参数,四舍五入取整:

select round(-97.6) from dual;
select round(97.6) from dual;

第一个sql结果返回-98,第二个sql结果返回 98。

14.2.1、二个参数,四舍五入截取数据(若第二个参数为负,则从小数点开始往前四舍五入截取)

select round(12.356,2) from dual;
select round(-13.78,1) from dual;
select round(129.45,-1) from dual;
select round(-156.1,-2) from dual;

第一个sql返回结果12.36,第二个sql返回结果-13.8,第三个sql返回结果-130,第四个sql返回结果-200。

15、distinct:去重(尽量少用,影响执行效率)

select distinct 字段1,字段2,字段3. . . from table_name;

结果返回:如果只有一个字段则把该字段内的重复值去重相同值只保留一个,如果是多个字段,则这多个字段的值同时重复(字段a有3个重复的,字段b无重复,则总体两个字段不算重复)才会去重。

16、substr:截取
16.1.1、二个参数:第一个参数是要截取的字符串,第二个参数是截取是从起始位置开始截取、若为正则代表向后截取、若为负则代表倒着截取:

select substr('123456',2) from dual;
select substr('123456',2) from dual;

第一个sql结果返回3456,第二个sql的结果返回1234。

16.2.1、三个参数,第一个参数是要截取的字符串,第二个参数是截取起始位置,第三个参数是截取的位数(长度)

select substr('abcdef',2,3) from dual;

结果返回cde。

17、nvl:空值判断
二个参数,若第一个参数为空,则返回第二个参数:

select (字段1,a) from table_name;

结果返回,如果字段1不为空则返回字段1的值,为空返回a。

18、nvl2:空值判断
三个参数,若第一个参数不为空,则返回第二个参数,否则返回第三个参数:

select nvl2(字段1,a,b) from table_name;

结果返回 如果字段1不为空返回a,为空返回b。

19、decode 函数:
decode函数会查找该字段的值,如果与之对应,则返回预设的结果:

表tab 含有字段a,字段a的值包括 (100,200,300,400,500);
select decode(a,100,1,200,2,300,3,350,4) from tab

结果返回1,2,3没有4,因为预设值和字段里的任意值不对应。

感谢各位的阅读,我愿用最用心的态度为你传达最精确的知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值