在数据库管理中,日期和时间的操作是日常任务中非常重要的一部分,MySQL 提供了丰富的日期和时间转换函数,帮助开发者高效地处理和操作日期时间数据,本文将详细介绍 MySQL 中的一些主要日期转换函数及其用法。
MySQL 的日期和时间函数可以大致分为以下几类:
1、日期格式化与解析:如DATE_FORMAT()
和STR_TO_DATE()
2、当前日期和时间:如NOW()
,CURDATE()
,CURTIME()
3、日期计算:如DATE_ADD()
,DATE_SUB()
,DATEDIFF()
4、提取日期/时间部分:如DAY()
,MONTH()
,YEAR()
,HOUR()
,MINUTE()
,SECOND()
5、日期间隔:如PERIOD_ADD()
,PERIOD_DIFF()
6、其他实用函数:如UNIX_TIMESTAMP()
,FROM_UNIXTIME()
1.DATE_FORMAT(date, format)
DATE_FORMAT()
函数用于将日期值按照指定的格式进行输出,常见的格式符号包括:
%Y
: 4位数的年份
%m
: 2位数的月份(01-12)
%d
: 2位数的日(01-31)
%H
: 2位数的小时(00-23)
%i
: 2位数的分钟(00-59)
%s
: 2位数的秒(00-59)
示例:
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
结果可能是:
2023-10-05 14:30:15
2.STR_TO_DATE(str, format)
STR_TO_DATE()
函数用于将字符串按照指定的格式解析为日期类型,格式符号与DATE_FORMAT
相同。
示例:
SELECT STR_TO_DATE('10-05-2023', '%m-%d-%Y');
结果为:
2023-10-05
1.NOW()
返回当前的日期和时间。
示例:
SELECT NOW();
结果可能是:
2023-10-05 14:30:15
2.CURDATE()
返回当前的日期,不包含时间部分。
示例:
SELECT CURDATE();
结果可能是:
2023-10-05
3.CURTIME()
返回当前的时间,不包含日期部分。
示例:
SELECT CURTIME();
结果可能是:
14:30:15
1.DATE_ADD(date, INTERVAL value unit)
DATE_ADD()
函数用于向日期添加指定的时间间隔。unit
可以是以下值之一:
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
示例:
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);
结果可能是:
2023-10-06 14:30:15
2.DATE_SUB(date, INTERVAL value unit)
DATE_SUB()
函数用于从日期减去指定的时间间隔,使用方式与DATE_ADD
类似。
示例:
SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH);
结果可能是:
2023-09-05 14:30:15
3.DATEDIFF(date1, date2)
DATEDIFF()
函数用于计算两个日期之间的天数差。
示例:
SELECT DATEDIFF('2023-10-05', '2023-09-05');
结果为:
30
1.DAY(date)
返回日期中的“天”部分。
示例:
SELECT DAY('2023-10-05');
结果为:
5
2.MONTH(date)
返回日期中的“月”部分。
示例:
SELECT MONTH('2023-10-05');
结果为:
10
3.YEAR(date)
返回日期中的“年”部分。
示例:
SELECT YEAR('2023-10-05');
结果为:
2023
4.HOUR(time)
返回时间中的“小时”部分。
示例:
SELECT HOUR('14:30:15');
结果为:
14
5.MINUTE(time)
返回时间中的“分钟”部分。
示例:
SELECT MINUTE('14:30:15');
结果为:
30
6.SECOND(time)
返回时间中的“秒”部分。
示例:
SELECT SECOND('14:30:15');
结果为:
15
1.PERIOD_ADD(p, i)
PERIOD_ADD()
函数用于将周期(以YYMM或YYYYMM格式表示)与指定周期间隔相加。
示例:
SELECT PERIOD_ADD(DATE_FORMAT(NOW(), '%y%m'), 1);
结果可能是:
202311
2.PERIOD_DIFF(p1, p2)
PERIOD_DIFF()
函数用于计算两个周期之间的月份差。
示例:
SELECT PERIOD_DIFF('202310', '202309');
结果为:
1
1.UNIX_TIMESTAMP(date)
/FROM_UNIXTIME(unixtime)
这两个函数分别用于将日期转换为 Unix 时间戳和将 Unix 时间戳转换为日期。
示例:
-- 获取当前时间的 Unix 时间戳 SELECT UNIX_TIMESTAMP(NOW()); -- 将 Unix 时间戳转换回日期时间格式 SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()));
结果可能分别是:
1696547015 2023-10-05 14:30:15
MySQL 提供了丰富的日期和时间处理函数,帮助开发者轻松实现各种复杂的日期时间操作,掌握这些函数不仅可以提高工作效率,还能使代码更加简洁和易读,通过本文的介绍,希望读者能够对 MySQL 的日期转换函数有一个全面的认识,并在实际工作中灵活应用。
随着互联网的普及和信息技术的飞速发展台湾vps云服务器邮件,电子邮件已经成为企业和个人日常沟通的重要工具。然而,传统的邮件服务在安全性、稳定性和可扩展性方面存在一定的局限性。为台湾vps云服务器邮件了满足用户对高效、安全、稳定的邮件服务的需求,台湾VPS云服务器邮件服务应运而生。本文将对台湾VPS云服务器邮件服务进行详细介绍,分析其优势和应用案例,并为用户提供如何选择合适的台湾VPS云服务器邮件服务的参考建议。
工作时间:8:00-18:00
电子邮件
1968656499@qq.com
扫码二维码
获取最新动态