MySql教程

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

本文主要是介绍MySQL基础(六)--MySQL基本函数的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

MySQL函数

在这里插入图片描述

数字函数

在这里插入图片描述
在这里插入图片描述

日期函数

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

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

日期计算的注意事项:
MySQL数据库里面,两个日期不能直接加减,日期也不能与数字加减。
日期偏移计算:
DATE_ADD()函数可以实现日期的偏移计算,而且时间单位很灵活。
在这里插入图片描述
案例:

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()函数用来计算两个日期之间相差的天数
在这里插入图片描述

字符函数

在这里插入图片描述
在这里插入图片描述

条件函数

判断是否为null并替换null值:
在这里插入图片描述
if 函数,表达式为真时返回第一个值,否则返回第二个值:
在这里插入图片描述
条件语句:
在这里插入图片描述

案例:
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
);
这篇关于MySQL基础(六)--MySQL基本函数的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!