Oracle中常用的函数详解

时间:2024-04-07 09:23:44

字符函数

1: ASCII(‘A’) 返回对应ASCII码表中的位置

SELECT ASCII('A') FROM DUAL
效果图如下:
Oracle中常用的函数详解
2:concat(‘HELLO’,‘oracle’) 字符串拼接或’HELLO’’,ORACLE’

SELECT CONCAT('Hello',',Oracle') FROM DUAL
效果图如下:
Oracle中常用的函数详解
3:LENGTH(‘HE LLO’) 返回字符串长度

SELECT LENGTH('HELLO') FROM DUAL
效果图如下:
Oracle中常用的函数详解
4:instr(‘hello oracle’,‘or’) 返回or 在 hello oracle 中出现的位置,索引从1开始

SELECT INSTR('HELLO ORACLE','OR')FROM DUAL
效果图如下:
Oracle中常用的函数详解
5:LOWER(‘HELLO’) 返回小写字符串

SELECT LOWER('HELLO') FROM DUAL
效果图如下:
Oracle中常用的函数详解
6:UPPER(‘hello’) 返回大写字符串

SELECT UPPER('hello') FROM DUAL
效果图如下:
Oracle中常用的函数详解
7:LTRIM(‘QWHELLO’,‘QW’) 截取字符串QWHELLO 中的QW,需注意只能截取以QW开头的字符串

SELECT LTRIM('QWHELLO','QW') FROM DUAL
效果图如下:
Oracle中常用的函数详解
8:POWER(X,Y) X的Y次幂

SELECT POWER(6,2)FROM DUAL
效果图如下:Oracle中常用的函数详解
9:RTRIM(‘HELLOZX’,‘ZX’ 截取字符串HELLOZX 中的ZX,需注意只能截取以ZX结尾的字符串

SELECT RTRIM('HELLOZX','ZX')FROM DUAL
效果图如下:
Oracle中常用的函数详解
10:TRIM(’-’ FROM ‘-HELLO-’)截取字符串-HELLO-'中前后的-,只能截取前后(注意:上面的三个函数比较类似,如果不填入第二个参数的话,默认是截取空格)

SELECT TRIM('-'FROM'-HELLO-WORD-')FROM DUAL
效果图如下:
Oracle中常用的函数详解
11:REPLACE(‘ABCG’,‘G’,‘DEF’) 字符串替换,把字符串ABCG中的G换成DEF(注意:如果ABCG中有多个G 则会多次替换)

SELECT REPLACE('ABCG','G','DEF')FROM DUAL
效果图如下:
Oracle中常用的函数详解
12:SUBSTR(‘ABCDEFGH’,2,6) 从字符串abcde中的第二位开始显示,显示6位

SELECT SUBSTR('ABCDEFGH',2,6)FROM DUAL
效果图如下:
Oracle中常用的函数详解

数字函数

1:ABS(X) 显示X的绝对值

SELECT ABS(-81) FROM DUAL
效果图如下:
Oracle中常用的函数详解
2:ACOS(X)显示X的反余弦

SELECT ACOS(0.5) FROM DUAL
效果图如下:
Oracle中常用的函数详解
3:COS(X)显示X的余弦

SELECT COS(0.9)FROM DUAL
效果图如下:
Oracle中常用的函数详解
4:CEIL(X)大于或等于X的最小值

SELECT CEIL(3.4)FROM DUAL
效果图如下:
Oracle中常用的函数详解
5:FLOOR(X) 小于或等于X的最大值

SELECT FLOOR(3.6) FROM DUAL
效果图如下:
Oracle中常用的函数详解
6:LOG(X,Y)X为低Y的对数

SELECT LOG(100,1000)FROM DUAL
效果图如下:
Oracle中常用的函数详解
7:MOD(X,Y) 类似与取于,X除以Y之后的余数

SELECT MOD(3,2) FROM DUAL
效果图如下:
Oracle中常用的函数详解
8:POWER(X,Y) X的Y次幂

SELECT POWER(2,3)FROM DUAL
效果图如下:
Oracle中常用的函数详解
9:ROUND(X,[Y]) 把数字X在Y的位置上四舍五入

SELECT ROUND(11.11,-1) FROM DUAL
效果图如下:
Oracle中常用的函数详解
10:SQRT(X) X的平方根

SELECT SQRT(6)FROM DUAL
效果图如下:
Oracle中常用的函数详解
11:TRUNC(X,[Y]) 数字X在Y的位置上截断,不进行四舍五入,y为整数代表小数点往右,y为负数代表小数点往左

SELECT TRUNC(1.12345,2)FROM DUAL
效果图如下:
Oracle中常用的函数详解

转换函数

**1:TO_CHAR(SYSDATE) 获取当前年月日 **

SELECT TO_CHAR(SYSDATE)FROM DUAL
效果图如下:
Oracle中常用的函数详解
2:TO_CHAR(SYSDATE,‘YYYY"年"mm"月"dd"日"’)获取当前年月日

SELECT TO_CHAR(SYSDATE,'YYYY"年"mm"月"dd"日"')FROM DUAL
效果图如下:
Oracle中常用的函数详解
3:TO_CHAR(SYSDATE,‘yyyy"年"mm"月"dd"日" HH12:MI:SS’) 获取当前年月日时分秒(小时是12小时制)

SELECT TO_CHAR(SYSDATE,'YYYY"年"mm"月"dd"日" HH12:MI:SS')FROM DUAL
效果图如下:
Oracle中常用的函数详解
4:TO_CHAR(SYSDATE,‘yyyy"年"mm"月"dd"日" HH24:MI:SS’) 获取当前年月日时分秒(小时是24小时制)

SELECT TO_CHAR(SYSDATE,'YYYY"年"mm"月"dd"日" HH24:MI:SS')FROM DUAL
效果图如下:
Oracle中常用的函数详解
5:TO_DATE(‘1990-12-12 15:24:36’,‘yyyy-mm-dd HH24:MI:SS’)

SELECT TO_DATE('1990-12-12 15:24:36','YYYY-MM-DD HH24:MI:SS')FROM DUAL
效果图如下:
Oracle中常用的函数详解

日期函数

1:ADD_MONTHS(SYSDATE,5)在SYSDATE上增加5月(就是当前时间增加5个月)

SELECT ADD_MONTHS(SYSDATE,5) FROM DUAL
效果图如下:
Oracle中常用的函数详解
2:LAST_DAY(SYSDATE) 返回当前月份的最后一天

SELECT LAST_DAY(SYSDATE)FROM DUAL
效果图如下:
Oracle中常用的函数详解
3:months_between(ADD_MONTHS(SYSDATE,5),SYSDATE) 返回两个日期相差的月份

SELECT MONTHS_BETWEEN(ADD_MONTHS(SYSDATE,6),SYSDATE) FROM DUAL
效果图如下:
Oracle中常用的函数详解
4:NEXT_DAY(SYSDATE,1) 返回下个星期的星期几,注意国外日期

SELECT NEXT_DAY(SYSDATE,3) FROM DUAL
效果图如下:
Oracle中常用的函数详解

聚合函数(可以对多行进行操作,返回一个结果集例如 sum())

1:avg()平均数

SELECT AVG(SAL) FROM EMP
效果图如下:
Oracle中常用的函数详解
2:sum()求和

SELECT SUM(SAL) FROM EMP
效果图如下:
Oracle中常用的函数详解
3:min()最小值

SELECT MIN(SAL)FROM EMP
效果图如下:
Oracle中常用的函数详解

4:max()最大值

SELECT MAX(SAL)FROM EMP
效果图如下:
Oracle中常用的函数详解
5:count()总数
SELECT COUNT(*) FROM EMP
效果图如下:
Oracle中常用的函数详解

Oracle中常用的函数详解