14.1单行函数
作者:互联网
-- 单行函数包含:
-- 1.字符串函数
select ename,length(ename),substring(ename,2,3) from emp;
-- substring字符串截取,2:从字符串下表2开始; 3:截取长度为3;下表从1开始
-- 2.数值函数
-- abs绝对值 ceil向上取整 floor向下取整 round四舍五入
select abs(-5),ceil(5.3),floor(5.9),round(3.14) from emp;
select abs(-5),ceil(5.3),floor(5.9),round(3.14) from dual; -- dual实际就是一个伪表
select abs(-5) 绝对值,ceil(5.3)向上取整,floor(5.9)向下取整,round(3.14)四舍五入; -- 如果没有where条件的话,from dual 可以省略不写
select ceil(sal) from emp;
select 10/3,10%3,mod(10,3);
-- 3.日期与时间函数
select * from emp;
select curdate(),curtime();-- curdate()年月日 curtime()时分秒
select now(),sysdate(),sleep(3),now(),sysdate() from dual; -- now(),sysdate() 年月日时分秒
-- now()可以表示年月日时分秒,但是插入数据的时候还是要参照表的结构的,参数类型有可能是date或者datetime之类的。
-- 4.流程函数
-- if相关:
select empno,ename,sal,if(sal>=2500,'高薪资','低薪资') as 薪资等级 from emp; -- if-else双分支结构
select empno,ename,sal,comm,sal+ifnull(comm,0) from emp; -- 如果comm是null,那么取值为0,单分支结构
select nullif(1,1),nullif(3,2) from dual;-- 如果value1=value2,返回null值,否则返回value1
-- case相关:
-- case等值判断:
select empno,ename,job,
case job
when 'CLERK' then '店员'
when 'SALESMAN' then '销售'
when 'MANAGER' then '经理'
else '其他'
end as '岗位',
sal from emp;
-- case区间判断:
select empno,ename,sal,
case
when sal<=1000 then 'A'
when sal<=2000 then 'B'
when sal<=3000 then 'C'
else 'D'
end as '薪资等级',deptno from emp;
-- 5.JSON函数
没学json,暂时不管
-- 6.其他函数
select database(),user(),version() from dual;
标签:ename,14.1,函数,sal,--,ceil,单行,emp,select 来源: https://blog.csdn.net/qq_61783164/article/details/121745502