This article brings you relevant knowledge about mysql, which mainly introduces MySQL’s date functions, including obtaining system time functions, date formatting functions, etc. Let’s learn about it together Take a look, hope it helps everyone.
Recommended learning: mysql video tutorial
"NOW()" function can Get the current system date and time in the following format: "YYYY-MM-DD hh:mm:ss" (the hour unit here is 24-hour system)
The "CURDATE()" function can get the current system date and time Date, the format is as follows: "YYYY-MM-DD"
"CURTIME()" function can get the current system time, the format is as follows: "hh:mm:ss" (24-hour format)
SELECT NOW(); -- 返回结果 "2020-06-10 17:22:51" (示例)
SELECT CURDATE(); -- 返回结果 "2020-06-10"
SELECT CURTIME(); -- 返回结果 "17:22:52"
The "DATE_FORMAT()" function is used to format dates and can help us extract very useful date information
The syntax is as follows:
DATE_FORMAT(date, expression)
SELECT ename, DATE_FORMAT(hiredate,"%Y") AS "入职日期" FROM t_emp;
Function | Placeholder | Function | |
---|---|---|---|
Year | %m | Month | |
Date | %w | Week (number) - (0 is Sunday) | |
Week (name) - (English) | %j | Day of the year | |
The number of weeks in this year | %H | hours(24) | |
Hours (12) | %i | Minutes | |
Seconds | %r | Time(24) | |
Time(12) |
SELECT DATE_FORMAT("2018-01-01","%W"); -- 返回结果为 "Monday"
SELECT COUNT(*) FROM t_emp WHERE DATE_FORMAT(hiredate,"%Y") = 1981 AND DATE_FORMAT(hiredate,"%m") <= 6;
SELECT ename, hiredate, hiredate+1 FROM t_emp;
SELECT DATE_ADD("原始日期", INTERVAL, 偏移量, 时间单位) -- INTERVAL 是 关键字
SELECT DATE_ADD(NOW(), INTERVAL 10 DAY); -- 得到的结果为 10 天 之后的日期时间
SELECT DATE_ADD(NOW(), INTERVAL -500 MINUTE); -- 得到的结果为 500 分钟 之前的日期时间
SELECT DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY); -- 得到的结果为 6 个月 3 天 之前的日期时间
SELECT DATE_FORMAT( DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY) , "%Y-%m-%d") AS DATE; -- 返回 "%Y-%m-%d" 格式结果
DATEDIFF("date", "date")Query 10 departments with annual income exceeding 15,000 Information about employees with more than 20 years of service.
SELECT empno, ename, sal, hiredate FROM t_emp WHERE deptno = 10 AND (sal + IFNULL(comm,0)) * 12 >=15000 AND DATEDIFF(NOW(),hiredate)/365 >= 20 -- IFNULL(expr1,expr2):IFNULL 函数的语法,当第一个参数的值为null 的时候,则返回第二个参数的值 -- DATEDIFF(expr1,expr2):DATEDIFF 函数的语法,计算第一个日期与第二个日期的偏差时间差 -- NOW():NOW 函数可以获得当前日期
The above is the detailed content of Detailed explanation of the usage of date function in MySQL learning. For more information, please follow other related articles on the PHP Chinese website!