1、数学函数
1)绝对值
ABS(num)
2)向上取整
CEIL(2.1)
3)向下取整
FLOOR(2.6)
4)四舍五入
ROUND(value, precision)
ROUND(2.66, 1)
ROUND(2.66, 0)
5)截取
TRUNC(value, decimals)
TRUNC(123.5678, 1)
TRUNC(123.5678, 0)
TRUNC(123.5678, -1)
TRUNC(123.5678, -2)
6)幂运算
POWER(value, exponent)
POWER(3, 2)
7)平方根
SQRT(9)
8)取余
MOD(10, 3)
9)判断正负数
SIGN(NUM)
2、字符串函数
1)字符串长度
LENGTH('abc')
LENGTHB('中国')
2)字符串拼接
CONCAT('ab', 'cd')
'ab' || 'cd'
3)指定字符在字符串左边填充
LPAD('abc', 5, '+')
4)指定字符在字符串右边填充
RPAD('abc', 5, '+')
5)转大小写
UPPER('abc')
LOWER('ABc')
6)字符串第1位变大写,其它变小写
INITCAP('aBc')
7)去除字符串两端内容
TRIM(' abc ')
TRIM('a' from 'abc')
8)去除字符串左侧内容
LTRIM(' abc')
LTRIM('aba', 'a')
LTRIM('ba', 'a')
9)去除字符串右侧内容
RTRIM('abc ')
RTRIM('aba', 'a')
RTRIM('bc', 'a')
10)截取字符串
SUBSTR(value, start, length)
SUBSTR('abcd', 1, 2)
SUBSTR('abcd', 2, 2)
SUBSTR('abcd', 2)
SUBSTR('abcd', -2, 2)
11)获取字串在字符串的位置
INSTR(value, 子串, 开始位置, 第几次出现)
INSTR('abcdab', 'a')
INSTR('abcd', 'e')
INSTR('abcab','a', 1, 2)
12)字符串反转
REVERSE('abc')
13)替换
REPLACE(value, 需要替换的字符串, 替换成的字符串)
REPLACE('abbab', 'a', 'b')
REPLACE('abab', 'ab', 'b')
REGEXP_REPLACE(value, 正则表达式, 替换成的字符串)
REGEXP_REPLACE('12b', '[0-9]+', 'b')
3、日期时间函数
1)当前日期时间
SYSDATE
SYSTIMESTAMP
CURRENT_DATE
2)提取
EXTRACT(YEAR FROM 日期)
EXTRACT(MONTH FROM 日期)
EXTRACT(DAY FROM 日期)
EXTRACT(HOUR FROM 日期)
EXTRACT(MINUTE FROM 日期)
EXTRACT(SECOND FROM 日期)
3)运算
ADD_MONTHS(日期时间, count)
date1 - date2
4)格式化
format |
说明 |
YYYY |
4位年 |
MM |
2位月 |
MONTH |
英文月:JUNE |
MON |
月的3字母缩写:JUN |
DD |
月中天 |
DAY |
星期几:Sunday |
DY |
星期几英文3字母缩写:SUN |
HH12 |
12小时制 |
HH24 |
24小时制 |
MI |
分钟 |
SS |
秒 |
AM或PM |
该日期是上午则会显示AM,下午则显示PM |
|
|
TO_CHAR(日期, format)
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
TO_CHAR(SYSDATE, 'AM-YYYY-MM-DD HH24:MI:SS')
TO_DATE(字符串, format)
TO_DATE('2019-12-05 17:26:02', 'YYYY-MM-DD HH24:MI:SS')
5)最早/最晚的日期
LEAST(date1, date2, ......)
GREATEST(date1, date2, ......)
6)本月最后一天的此刻
LAST_DAY(SYSDATE)
7)两个日期相差的月数
MONTHS_BETWEEN(date1, date2)
8)下一个周几的日期
NEXT_DAY(日期, 星期几)
NEXT_DAY(SYSDATE, 2)
9)四舍五入
ROUND(SYSDATE, 'MONTH')
10)TRUNC
TRUNC(SYSDATE, 'IW')
TRUNC(SYSDATE, 'IW') + 6
TRUNC(SYSDATE, 'MONTH')
TRUNC(LAST_DAY(SYSDATE))
TRUNC(SYSDATE, 'Q')
TRUNC(SYSDATE, 'YEAR')
4、其它
1)转换
TO_CHAR(123.12, '000.00')
TO_CHAR(123.12, '0000.000')
TO_CHAR(100100.12, '$000,000.00')
TO_NUMBER(value, format)
TO_NUMBER('12345')
TO_NUMBER('$123,456.12', '$999,999.99')
CAST(value AS 数据类型)
CAST('123' AS NUMBER)
CAST('123.56' AS NUMBER)
CAST('123.56' AS NUMBER(4, 1))
CAST('123.56' AS INTEGER)