排序&数据处理函数&日期处理函数
* 本博客涉及到的数据为bjpowernode.sql,数据见文末,SQL文见MySQL入门(9)文末。
* 该数据有三张表,分别是部门表dept(deptno部门编号、dname部门名称、loc位置)、
员工表emp(empno工号、ename员工姓名、job职位、mgr直属领导工号、
hiredate入职日期、sal月薪、comm补贴、deptno部门编号)、
薪水等级表salgrade(grade等级、losal区间下限、hisal区间上限)
一、排序&数据处理函数
1、排序数据(order by)
1)单字段排序
select ename,sal fromemp order by sal asc ;(默认升序)
select ename,sal fromemp order by sal desc;
select ename,sal fromemp order by 2;(2表示表里面第二个字段,尽量不要写)
2)多字段排序
select ename,sal fromemp order by sal desc,ename asc;
2、数据处理函数/单行处理函数
转小写(lower),转大写(upper),截取字符串(substr),获取字符串长度(length),去除前后空白(trim),四舍五入(round),生成随机数(rand),空值处理函数(ifnull)
select ename from emp;
select lower(ename)as ename from emp;
select upper(ename) as ename from emp;
select substr(ename,1,3) from emp;(substr(字段名,起始位置/开始下标,长度))
第二个字母是a的
select ename from emp where substr(ename,2,1)=‘A’;
select length(ename)from emp;
select ename from emo where ename = ‘ SMITH ’;(没有结果)
select ename from emo where ename = trim(‘ SMITH ’);
select round(123.456);(默认到整数位)
select round(123.456,1);(保留一位小数)
select round(123.456,-1);(保留到个位)
select rand();
select round(rand()*100);
select ename,commfrom emp;
补助是空的显示为零
select ename,ifnull(comm,0) as comm fromemp;
select sal + comm from emp(数据库内有空值参加的数学运算都为空)
补助为空为100
select sal + ifnull(comm,100) from emp
s