我 的 个 人 主 页: 失心疯的个人主页
入 门 教 程 推 荐 : Python零基础入门教程合集
虚 拟 环 境 搭 建 : Python项目虚拟环境(超详细讲解)
PyQt5 系 列 教 程: Python GUI(PyQt5)文章合集
Oracle数据库教程: Oracle数据库文章合集
优 质 资 源 下 载 : 资源下载合集
优 质 教 程 推 荐: Python爬虫从入门到入狱系列 合集
分类 | 函数 | 说明 | 参数 |
分组函数 | Max | 最大值 | Max(字段名) |
Min | 最小值 | Min(字段名) | |
Sum | 求和 | Sum(字段名) | |
Count | 计数 | Count(字段名) | |
Avg | 平均值 | Avg(字段名) | |
字符函数 | Lower | 将字符串转换为小写 | Lower(char) |
Upper | 将字符串转化为大写 | Upper(char) | |
Length | 返回字符串的长度 | Length(char) | |
Substr | 取字符串的子串 | Substr(char,pos,[len]) | |
Replace | 用新字符串替换部分字符串 | Replace(char,old_char,new_char) | |
Instr | 获取子串在字符串的位置 | Instr(char,findchar[,n[,m]]) | |
Lpad | 字符串左侧补齐到指定长度 | Lpad(char,m,'str') | |
Rpad | 字符串右侧补齐到指定长度 | Rpad(char,m,'str') | |
数学函数 | Round | 四舍五入 | Round(n, [m]) |
Trunc | 截取数字 | Trunc(n, [m]) | |
Mod | 取模 | Mod(m, n) | |
Floor | 返回小于或等于n的最大整数 | Floor(n) | |
Ceil | 返回大于或等于n的最小整数 | Ceil(n) | |
Abs | 返回绝对值 | Abs(n) | |
其他 | Cos、Cosh、exp、ln、log、sin、sinh、sqrt、tan、tanh、acos、asin、atan、power | ||
日期函数 | Sysdate | 返回系统日期 | Sysdate |
Add_months | 返回指定日期d增加指定月数n后的日期 | Add_months(d,n) | |
Last_day | 返回指定日期d所在月份的最后一天 | Last_day(d) | |
转换函数 | to_char | 转换为字符串 | to_char() |
to_date | 将字符串转换为日期 | to_date(char,'yyyy-mm-dd') | |
系统函数 | sys_context | 获取系统信息 | sys_context('userevn','db_name') |
判断函数 | decode | 如果expression=value,则输出result1,否则输出result2 | decode(expression,value,result1,result2) |
如果expression=value1,则输出result1,expression=value2,输出reslut2,expression=value3,输出result3 | decode(expression,value1,result1,value2,result2,value3,result3......,default) | ||
sign() | 参数与0的比较 大于0则返回1,等于0则返回0,小于0则返回-1 |
sign(1-2) |
Replace函数
语法:Replace(char,old_char,new_char)
用新字符串(new_char)串替换指定字符串(old_char)
select ename, replace(ename,'A','新') as "new_name" from emp
Instr函数
语法:Instr(char,findchar[,n[,m]]
从字符串(char)中指定位置(n)开始查找指定字符串(findchar)第m次出现的位置
select ename, instr(ename,'A',1, 2) as "new_name" from emp
Round函数
语法:Round(n, [m])
用于执行四舍五入
select sal,round(sal),round(sal,2),round(sal,-2) from emp where empno in ('8002','8003');
Trunc函数
语法:Trunc(n, [m])
截取数字
select sal,trunc(sal),trunc(sal,2),trunc(sal,-2) from emp where empno in ('8002','8003');
其他数学函数
create table t1(id int);
insert into t1 values('10') ——> oracle会自动将'10'转换成10
create table t2(id varchar2(10));
insert into t2 values(10) ——> oracle会自动将10转换为'10'
select to_char(sysdate,'yyyy-mm-dd') as "日期" from dual;
返回结果:20-12-11
select to_char(sysdate,'yyyy-mm-dd') from dual
返回结果:2020-12-11
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as "日期" from dual;
返回结果:2020-12-11 22:29:42
select to_char(sysdate,'yyyy-mm-dd hh12:mi:ss') as "日期" from dual;
返回结果:2020-12-11 10:30:17
select to_char('800','L99999.99'),to_char('800','$99999.99'),to_char('800','C99999.99') from dual;
返回结果:¥800.00 | $800.00 | CNY800.00
select to_char('800','L00000.00') from dual;
返回结果:¥00800.00
select to_char('80000','L99,999.99') from dual;
返回结果:¥80,000.00
select * from emp where to_char(HIREDATE,'yyyy')=1980
select * from emp where to_char(hiredate,'mm')=12
insert into emp values('9999','小红','MANAGER',7782,'11-11月-2020',1000,100,10);
insert into emp values('9998','小明','MANAGER',7782,to_date('2020-12-12','YYYY-MM-DD'),2000,200,20);
select sys_context('userenv','db_name') from dual;
select sys_context('userenv','session_user') from dual;
select sys_context('userenv','host') from dual;
select sysdate from dual;
返回结果:2020/12/21
select sysdate,add_months(sysdate,3) from dual;
返回结果:
SYSDATE ADD_MONTHS(SYSDATE,3)
----------- ---------------------
2020/12/21 2021/3/21 22:17:48
select * from emp where sysdate < add_months(HIREDATE,8)
select * from emp where sysdate >= add_months(hiredate,120)
select ename "姓名", trunc(sysdate-hiredate) as "入职天数" from emp
select * from emp where hiredate=(last_day(hiredate)-2)
decode(expression,value,result1,result2)
// 如果expression=value,则输出result1,否则输出result2
decode(expression,value1,result1,value2,result2,value3,result3......,default)
// 如果expression=value1,则输出result1,expression=value2,输出reslut2,expression=value3,输出result3,若expression不等于所列出的所有value,则输出为default
decode(sign(成绩-90),1,"优秀",0,"良好",-1,"及格")