日期时间类型函数
名称 | 描述 |
CURDATE() | 获取当前系统日期 |
CURTIME() | 获取当前系统时间 |
SYSDATE() | 获取当前系统日期时间 |
YEAR(DATE) | 获取年份 |
MONTH(DATE) | 获取月份 |
-- 获取当前系统日期
SELECT CURDATE();
-- 获取当前系统时间
SELECT CURTIME();
-- 获取当前系统日期时间
SELECT SYSDATE();
-- 获取日期2030-01-01中的年份
SELECT YEAR('2030-01-01');
-- 获取当前系统的年份
SELECT YEAR(SYSDATE());
-- 查询emp表中,1983年入职(hiredate)的,员工信息
SELECT * FROM emp WHERE YEAR(hiredate)='1983';
-- 获取当前系统的月份
SELECT MONTH(CURDATE());
-- 查询emp表中,12月份入职(hiredate)的,员工信息
SELECT * FROM emp WHERE MONTH(hiredate)='12';
-- 查询emp表中,1983-05-01入职(hiredate)的,员工信息
SELECT * FROM emp WHERE hiredate='1983-05-01';
-- 查询emp表中,员工编号(empno),姓名(ename),工资(sal),奖金(comm),日薪(sal/30),年薪(sal*12+comm) --面试题
SELECT empno,ename,sal,comm,TRUNCATE(sal/30,2) AS day_sal,sal*12+comm AS YEAR_sal FROM emp;
-- 当数值类型的数据和NULL进行相加,结果是NULL,针对这种情况,我们使用IFNULL()函数进行处理
IFNULL(N,M) 函数
处理NULL值,N表示表中某列的列名,M表示要替换NULL的数值
SELECT empno,ename,sal,comm,TRUNCATE(sal/30,2) AS day_sal,sal*12+IFNULL(comm,0) AS YEAR_sal FROM emp;