MySQL基础(六)--MySQL基本函数的使用

MySQL函数

MySQL基础(六)--MySQL基本函数的使用

数字函数

MySQL基础(六)--MySQL基本函数的使用
MySQL基础(六)--MySQL基本函数的使用

日期函数

获取系统时间函数:
NOW()函数能获得系统日期和时间,格式yyyy-MM-dd hh:mm:ss
CURDATE()函数能获得当前系统日期,格式yyyy-MM-dd
CURTIME()函数能获得当前系统时间,格式hh:mm:ss
日期格式化函数:
DATE_FORMAT(日期, 表达式) 函数用于格式化日期,返回用户想要的日期格式。
其中,表达式有以下多种格式:
MySQL基础(六)--MySQL基本函数的使用
案例:
利用日期函数,查询1981年上半年入职的员工有多少人?

SELECT COUNT(*) FROM t_emp
WHERE DATE_FORMAT(hiredate, "%Y")=1981
AND DATE_FORMAT(hiredate, "%m")<=6;

日期计算的注意事项:
MySQL数据库里面,两个日期不能直接加减,日期也不能与数字加减。
日期偏移计算:
DATE_ADD()函数可以实现日期的偏移计算,而且时间单位很灵活。
MySQL基础(六)--MySQL基本函数的使用
案例:

SELECT DATE_ADD(NOW(), INTERVAL 15 DAY);
SELECT DATE_ADD(NOW(), INTERVAL -300 MINUTE);
SELECT DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY);

计算日期之间相隔的天数:
DATEDIFF()函数用来计算两个日期之间相差的天数
MySQL基础(六)--MySQL基本函数的使用

字符函数

MySQL基础(六)--MySQL基本函数的使用
MySQL基础(六)--MySQL基本函数的使用

条件函数

判断是否为null并替换null值:
MySQL基础(六)--MySQL基本函数的使用
if 函数,表达式为真时返回第一个值,否则返回第二个值:
MySQL基础(六)--MySQL基本函数的使用
条件语句:
MySQL基础(六)--MySQL基本函数的使用

案例:
SALES部门发放礼品A,其余部门发放礼品B,打印每名员工获得的礼品

SELECT 
	e.empno, e.ename, d.dname,
	IF(d.dname="SALES","礼品A","礼品B")
FROM t_emp e JOIN t_dept d ON e.deptno=d.deptno;

SALES部门去平p1地点,ACCOUNTING部门去p2地点,RESEARCH部门去p3地点

SELECT 
	e.empno, e.ename, d.dname,
	CASE
		WHEN d.dname="SALES" THEN "p1"
		WHEN d.dname="ACCOUNTING" THEN "p2"
		WHEN d.dname="RESEARCH" THEN "p3"
	END AS place
FROM t_emp e JOIN t_dept d ON e.deptno=d.deptno;

SALES部门中工龄超过20年,10%
SALES部门中工龄不满20年,5%
ACCOUNTING部门,300元
RESEARCH部门里低于部门平均底薪,200元
没有部门的员工,100元

UPDATE t_emp e LEFT JOIN t_dept d ON e.deptno = d.deptno 
LEFT JOIN (SELECT deptno, AVG(sal) AS avg FROM t_emp GROUP BY deptno) t
ON e.deptno=t.deptno
SET sal=(
	CASE 
		WHEN d.dname= "SALES" AND DATEDIFF(NOW(), e.hiredate)/365>=20
		THEN e.sal*1.1
		WHEN d.dname= "SALES" AND DATEDIFF(NOW(), e.hiredate)/365<20
		THEN e.sal*1.05
		WHEN d.dname="ACCOUNTING" THEN e.sal+300
		WHEN d.dname="RESEARCH" AND e.sal<t.avg THEN e.sal+200
		WHEN e.deptno IS NULL THEN e.sal+100
		ELSE e.sal
	END
);
上一篇:k8s---HealthChecks探测器readiness和liveness


下一篇:oralce 语句指定的转换无效