Oracle 常用函数

Oracle 函数概述

函数的左右

  • 方便数据的统计。
  • 处理查询结果。

函数分类

  • 内置函数
    • 数值函数
    • 字符函数
    • 日期函数
    • 转换函数
  • 自定义函数

Oracle 数值函数

1.四舍五入

ROUND(n[,m])

  • 省略m:0
  • m>0:小数点后m位
  • m<0:小数点前m位
select round(23.4),round(23.45,1),round(23.45,-1) from dual;
-- 23   23.5    20
2.取整函数

CEIL(n)

向上取整

FLOOR(n)

向下取整

select CEIL(23.4),FLOOR(23.45) from dual;
-- 24   123
3.常用计算

ABS(n)

绝对值函数

select abs(23),abs(-23) from dual;
-- 23 23

MOD(m,n)

取余函数

select mod(5,2) from dual;
-- 1
select mod(5,null) from dual;
-- null

POWER(m,n)

m的n次幂函数

SQRT(n)

n的平方根函数


Oracle 字符函数

1.大小写转换函数
2.获取子字符串函数
3.获取字符串长度函数
4.字符串连接函数
5.去除字串函数
6.替换函数

Oracle 日期函数

1.系统时间函数

SYSDATE

默认格式:DD-MON-RR (日-月-年)

select sysdate from dual;
-- 03-12月-19
2.日期操作

ADD_MONTHS(date,i)

ADD_MONTHS(date,i) 函数的作用是返回在指定日期上添加的月份。

i 可以任何整数,如果是小数系统会自动截取整数

i 为负数时,则相当于减去原来的月份。

NEXT_DAY(date,char)

返回date指定日期的下周char 是哪一天。

select NEXT_DAY(SYSDATE, '星期一') from dual;
-- 09-12月-19

LAST_DAY(date)

返回日期所在月的最后一天

select LAST_DAY(SYSDATE) from dual;
-- 31-12月-19

MONTHS_BETWEEN(date1,date2)

表示两个日期之间相隔的月份

select MONTHS_BETWEEN('15-12月-19','15-3月-19') from dual;
-- 9

EXTRACT(date FROM datetime)

返回日期/时间对应的具体信息

select EXTRACT(YEAR FROM sysdate) from dual; 
-- 2019
select EXTRACT(hour from timestamp '2019-12-1 18:30:26') from dual;
-- 18

Oracle 转换函数

1.日期转换成字符的函数

TO_CHAR(date[,fmt[,params]])

  • date:将要转换的日期
  • fmt:转换的格式
    • yyyymmdd
    • ...
  • params:日期的语言(可省)
sselect TO_CHAR(sysdate,'yyyymmdd') from dual;
-- 20191203
2.字符转换成日期的函数

TO_DATE(char[,fmt[,params]])

  • char:将要转换的日期
  • fmt:转换的格式
    • yyyymmdd
    • ...
  • params:日期的语言(可省)

TO_DATE( )按照系统默认格式显示日期

select TO_DATE('20191201','yyyymmdd') from dual;
-- 01-12月-19    
3.数字转换成字符的函数

TO_CHAR(number[,fmt])

  • 9:显示数字并且忽略前面的0
  • 0:显示数字,位数不足,用0补齐
  • . 或 D:显示小数
  • , 或 G:显示千位符
  • $ :美元符合
  • S:加正负号(前后都可以)
select TO_CHAR(00011.5596,'$99,999.999') from dual;
-- $11.560
4.字符转换成数字的函数

TO_NUMBER(char[,fmt])

  • fmt 转换的格式(可以省略)
select TO_NUMBER('$10,00', '$9999') from dual; 
-- 1000

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。