单行处理函数
17、数据处理函数(单行处理函数)
17.1、单行处理函数特点:一个输入对应一个输出
多行处理函数:多个输入对应一个输出 (工资求和等)
17.2、单行处理函数常见的有哪些?
1)lower 转换小写
select lower(ename) as ename from emp;
2)upper 转换大写
select upper(name) from emp;
3)substr 取子串(substr(被截取的字符串,起始下标,截取的长度))
select substr(ename,1,1) as ename from emp;
注意 : 起始下标从1开始,没有0
找出员工名字第一个字母是A的员工信息?
第一种:模糊查询
select ename from emp where ename like 'A%';
第二种:substr函数
select ename from emp where substr(ename,1,1) = 'A';
4)concat函数进行字符串的拼接
select concat(empno,ename) from emp;
首字母大写?
select concat(upper(substr(name,1,1)),substr(name,2,length(name)-1)) as result from t-student;
5)length 取长度
select length(ename) from emp;
6)trim 去空格
select * from emp where ename = trim(' KING');
7)str_to date 将字符串转换成日期
8)date_format 格式化日期
9)format 设置千分位
10)round 四舍五入
select 字段 from 表名;
select ename from emp;int i = 1000;
select 'abc' as ename from emp;
不加单引号会认为是字段
select 1000 as num from emp;//1000也是被当做一个字面量/字面值
结论:select后可以跟字段名(看成变量)也可以跟字面量(看成数据)
select round(1236.567,0) as result from emp; //0是保留到整数位,1是保留一位小数,-1就是保留到十位
11)rand()生成随机数
select rand() from emp;
100以内的随机数?
select round(rand()*100,0) from emp;
12) ifnull 可以将null转换成一个具体值
ifnull是空处理函数。专门处理空的。
在所有数据库中,只要有NULL参与的数学运算,最终结果是NULL
select ename,sal + comm as salcomm from emp;
计算每个员工的年薪?
年薪=(月薪加月补助)*12
select ename,
注意:为了避免结果是NULL,使用ifnull函数
用法: ifnull(数据,被当做哪个值)
select ename,(sal + ifnull(comm,0))*12 as yearsal from emp;
13)case..when..then..when..then..else..end
当员工工作岗位是MANAGE的时候,工资上调10%,当工作岗位是SALESMAN的时候,工资上调50%
(注意:不修改数据库,只是将查询结果显示为工资上调)
select ename,job,sal from emp;
select ename,job,sal as oldsal,(case job when 'MAGENAGE' then sal*1.1 when 'SALESMAN' THEN sal*1.5 else sal end) as newsal from emp;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!