2018.12.25课堂练习
1.计算2000年1月1日到现在有多少月,多少周(四舍五入)。
select PERIOD_DIFF(DATE_FORMAT(now(),'%Y%m'),'200001'),
round(DATEDIFF(now(),'20000101')/7)
2.查询员工ENAME的第三个字母是A的员工的信息(使用2个函数)。
select *
from emp
where SUBSTR(ename FROM 3 FOR 1) = 'A'
select *
from emp
where LOCATE('A',ename,3) = 3
3.使用trim函数将字符串‘hello’、‘ Hello ’、‘bllb’、‘ hello ’分别处理得到下列字符串ello、Hello、ll、hello。
select TRIM('h' from 'hello'),trim(' Hello '),trim('b' from 'bllb'),trim(' hello ')
4.将员工工资按如下格式显示:123,234.00 RMB 。
select concat(format(sal,2),' RMB')
from emp
5.查询员工的姓名及其经理编号,要求对于没有经理的显示“No Manager”字符串。
select ename,
IFNULL(mgr,'No Manager')
from emp
6.将员工的参加工作日期按如下格式显示:月份/年份。
select DATE_FORMAT(hiredate,'%m/%Y')
from emp
7.在员工表中查询出员工的工资,并计算应交税款:如果工资小于1000,税率为0,如果工资大于等于1000并小于2000,税率为10%,如果工资大于等于2000并小于3000,税率为15%,如果工资大于等于3000,税率为20%。
select ename,sal,
case when sal < 1000 then 0
when sal < 2000 then sal * 0.1
when sal < 3000 then sal * 0.15
else sal * 0.2
end 交税款
from emp
8.创建一个查询显示所有雇员的 ename和 sal。格式化sal为 15 个字符长度,用 $ 左填充,列标签 SALARY。
select ename,sal,lpad(sal,15,'$') SALARY
from emp