字符串函数
- ASCII(str) —— 返回字符串str在ASCII码表中的值
SELECT ASCII('A') FROM DUAL
-
CONCAT(str1,str2) 或 str1 || str2 —— 将str1和str2进行拼接
SELECT CONCAT('HELLO', 'WORD') FROM DUAL
SELECT 'HELLO' || 'WORD' FROM DUAL
-
LENGTH(str) – 返回字符串str的长度
SELECT LENGTH('HELLO WORD') FROM DUAL
-
INSTR(str1,str2) —— 返回str2在str1中出现的索引,索引从1开始
SELECT INSTR('HELLO WORD','WORD') FROM DUAL
-
LOWER(str) —— 将字符串str全部转换为小写返回
SELECT LOWER('HELLO WORD') FROM DUAL
-
UPPER(str) —— 将字符串str全部转换为大写返回
SELECT UPPER('hello word') FROM DUAL
-
LTRIM(str1,str2) —— 从str1中把str2截取出来,返回剩下的字符串,只截取已str2开头的字符串
select ltrim('HELLO WORD','WORD' ) from dual
select ltrim('HELLO WORD','HELLO' ) from dual
-
RTRIM(str1,str2) —— 从str1中把str2截取出来,返回剩下的字符串,只截取已str2结束的字符串
select rtrim('HELLO WORD','WORD' ) from dual
select rtrim('HELLO WORD','HELLO') from dual
-
TRIM(str1 FROM str2) —— 从str2中将str1截取出来,返回剩下的字符串,只截取以str1开始和结束的字符串
select trim('-' from '-HELLO - WORD -') from dual
-
REPLACE(str,oldStr,newStr) 将str中的oldStr 替换为nwwStr,返回修改后的字符串
select replace('HELLO WORD','L','A') from dual
-
SUBSTR(str,start,end) —— 从str的第start位开始显示,到第end位结束
select substr('HELLO WORD', 2,6) from dual
数字函数
-
ABS(x) —— 绝对值函数
select abs(-4) from dual
-
ACOS(x) —— 反余弦函数
select acos(0.5) from dual
-
COS(X) —— 余弦函数
select cos(0.5) from dual
-
CEIL(X) —— 大于或等于x的最小整数
select ceil(1.5) from dual
-
FLOOR(X) —— 小于或等于x的最大整数
select floor(3.5) from dual
-
LOG(X,Y) —— 返回x为底数为y的对数
select log(10,100) from dual
-
MOD(X,Y)——返回x对y取余数之后的数
select mod(6,5) from dual
-
POWER(X,Y) —— x的y次幂
select power(3,3) from dual
-
ROUND(X,Y) —— 把数字x在第y位小数上四舍五入,y为正数代表小数点往右,y为负数代表小数点向左
select round(12.3274,2) from dual
select round(12.3,-1) from dual
-
SQRT(X) —— x的完全平方根
select sqrt(9) from dual
-
TRUNC(X,Y) —— 数字x在y的位置上截断,不进行四舍五入,y为整数代表小数点往右,y为负数代表小数点往左
select trunc(123.456,2) from dual
select trunc(123.456,-2) from dual
日期函数
-
SYSDATE —— 当前系统时间
select sysdate from dual
-
TO_DATE(str, 格式) —— 字符串转日期
select to_date('2020-10-5 15:24:12','yyyy-mm-dd HH24:MI:SS') from dual
-
NEXT_DAY(DATE,week)返回下一个星期的星期几,返回的是国外的星期,week的值为 1-7
select next_day(sysdate,7) from dual
-
MONTHS_BETWEEN(date1,date2)——返回两个日期相差的月份
select months_between(add_months(sysdate,5),sysdate) from dual
-
LAST_DAY(date) —— 返回当前月份上的最后一天的当前时间
select last_day(sysdate) from dual
-
给日期增加月份
select add_months(sysdate,5) from dual
-
日期转字符串
select to_char(sysdate,'yyyy-mm-dd HH24:MI:SS') from dual
select to_char(sysdate,'yyyy"年"mm"月"dd"日" HH24:MI:SS') from dual
其他函数
-
NVL(X,Y) —— 如果x的值为null则返回y的值
select nvl(null,100) from dual
-
NVL2(X,Y,Z)——如果x的值为null返回z否则返回y
select nvl2(null,200,100) from dual
select nvl2(10,200,100) from dual