MySQL 提供了丰富的日期和时间函数以及运算符,用于处理和操作日期和时间数据,这些函数和运算符可以帮助执行各种与时间相关的计算、格式化、提取等操作,从而满足数据库查询和分析的需求。
常用日期和时间函数
1、获取当前日期和时间:
NOW()
: 返回当前的日期和时间。
CURDATE()
,CURRENT_DATE()
: 返回当前日期。
CURTIME()
,CURRENT_TIME()
: 返回当前时间。
2、格式化日期和时间:
DATE_FORMAT(date, format)
: 将日期或时间格式化为字符串。SELECT DATE_FORMAT(NOW(), '%Y%m%d');
。
3、日期和时间的算术运算:
DATE_ADD(date, INTERVAL value unit)
,DATE_SUB(date, INTERVAL value unit)
: 在给定的日期上添加或减去指定的时间间隔。SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH);
。
DATEDIFF(date1, date2)
: 返回两个日期之间的天数差。
4、提取日期和时间的部分:
YEAR(date)
,MONTH(date)
,DAY(date)
: 分别返回日期的年份、月份和天数。
HOUR(time)
,MINUTE(time)
,SECOND(time)
: 分别返回时间的小时、分钟和秒数。
5、时区转换:
CONVERT_TZ(dt, from_tz, to_tz)
: 将日期时间从一个时区转换为另一个时区。SELECT CONVERT_TZ('20231001 12:00:00', 'UTC', 'Asia/Shanghai');
。
6、其他常用函数:
FROM_UNIXTIME(unix_timestamp)
: 将 Unix 时间戳转换为日期时间。
UNIX_TIMESTAMP(date)
: 将日期时间转换为 Unix 时间戳。
常见运算符
1、算术运算符:
+
,,
,
/
,%
: 分别用于加法、减法、乘法、除法和取余数。SELECT 2 + 3;
。
2、比较运算符:
=
,<>
,!=
,>
,<
,>=
,<=
: 用于比较两个值的大小。SELECT * FROM employees WHERE age > 30;
。
3、逻辑运算符:
AND
,OR
,NOT
: 用于逻辑条件的组合和否定。SELECT * FROM employees WHERE age > 30 AND department = 'Sales';
。
4、位运算符:
&
,|
,^
,~
: 分别用于按位与、按位或、按位异或和按位非。SELECT 5 & 3;
。
实际应用案例
假设有一个名为employees
的数据表,包含员工的入职日期 (hire_date
) 和薪水 (salary
),我们可以使用上述函数和运算符进行以下操作:
1、计算员工工龄:
“`sql
SELECT DATEDIFF(NOW(), hire_date) AS work_days FROM employees;
“`
2、增加薪水:
“`sql
UPDATE employees SET salary = salary * 1.1 WHERE hire_date < DATE_SUB(NOW(), INTERVAL 1 YEAR);
“`
3、查找入职满一年的员工:
“`sql
SELECT * FROM employees WHERE hire_date <= DATE_SUB(NOW(), INTERVAL 1 YEAR);
“`
相关问答FAQs
1、如何将一个 Unix 时间戳转换为可读的日期时间格式?:可以使用FROM_UNIXTIME()
函数将 Unix 时间戳转换为日期时间格式。SELECT FROM_UNIXTIME(1696975200);
。
2、如何在 MySQL 中对日期进行加减操作?:可以使用DATE_ADD()
和DATE_SUB()
函数对日期进行加减操作,要在当前日期上添加一个月,可以使用以下查询:SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH);
。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1110364.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复