数据处理函数(单行处理函数)
- 单行处理函数的特点:一个输入对应一个输出
- 和单行处理函数相对的是:多行处理函数。(多行处理函数特点:多个输入,对应一个输出!)
- 单行处理函数常见的有哪些:
-
lower 转换小写
select lower(ename) from emp; -
upper 转换大写
select upper(ename) from emp; -
substr 取子串(substr(被截取的字符串,起始下标,截取的长度))
select substr(ename,1,3) 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'; -
length 取长度
select length(ename) as enamelength from emp; -
trim 去空格
select * from emp where ename = ' KING';
Empty set (1.57 sec)
select * from emp where ename = trim(' KING'); -
concat 函数进行字符串的拼接
-
str_to_date 将字符串转换成日期
-
date_format 格式化日期
-
format 设置千分位
-
case..when..then..when..then..else..end
当员工的工作岗位是MANAGER的时候,工资上调10%,当工作岗位是SALESMAN的时候,工资上调50%,其他正常。
select ename,job,sal as oldsal,(case job when 'MANAGER' then sal * 1.1 when 'SALESMAN' then sal * 1.5 else sal end) as newsal from emp;
注意不修改数据库,只是将查询结果显示为工资上调 -
round 四舍五入
select round(1234.567,0)as result from emp;//保留到整数
select round(1234.567,-1)as result from emp;//保留到十位数
select round(1234.567,1)as result from emp;//保留到一位小数
select 字段 from 表名; -
rand() 生成随机数(0-1)之间
select rand() from emp; -
ifnull 可以将 null 转换成一个具体值
ifnull是空处理函数,专门处理空的
在所有数据库当中,只要有NULL参与的数字运算,最终结果就是NULL
ifnull函数用法:ifnull(数据,被当做哪个值)
如果“数据”为NULL的时候,把这个数据结构当做哪个值
select ename,(sal + ifnull(comm,0)) * 12 as yearsal from emp;
-