1. DATE_FORMAT: 按照指定的格式输出日期。 示例:`SELECT DATE_FORMAT, '%Y%m%d %H:%i:%s'qwe2;`
2. STR_TO_DATE: 将字符串转换为日期。 示例:`SELECT STR_TO_DATE;`
3. DATE_ADD: 向日期添加指定的时间间隔。 示例:`SELECT DATE_ADD, INTERVAL 1 DAYqwe2;`
4. DATE_SUB: 从日期减去指定的时间间隔。 示例:`SELECT DATE_SUB, INTERVAL 1 DAYqwe2;`
5. CURDATE: 返回当前日期。 示例:`SELECT CURDATE;`
6. CURTIME: 返回当前时间。 示例:`SELECT CURTIME;`
7. NOW: 返回当前的日期和时间。 示例:`SELECT NOW;`
8. UTC_DATE: 返回当前的UTC日期。 示例:`SELECT UTC_DATE;`
9. UTC_TIME: 返回当前的UTC时间。 示例:`SELECT UTC_TIME;`
10. UTC_TIMESTAMP: 返回当前的UTC日期和时间。 示例:`SELECT UTC_TIMESTAMP;`
11. EXTRACT: 从日期中提取指定部分。 示例:`SELECT EXTRACTqwe2;`
12. DATE_DIFF: 返回两个日期之间的天数。 示例:`SELECT DATEDIFF, '20230101'qwe2;`
13. TIMESTAMPDIFF: 返回两个日期之间的指定时间单位数。 示例:`SELECT TIMESTAMPDIFFqwe2;`
14. TIMESTAMPADD: 向日期添加指定的时间间隔。 示例:`SELECT TIMESTAMPADDqwe2;`
15. TO_DAYS: 将日期转换为天数。 示例:`SELECT TO_DAYSqwe2;`
16. LAST_DAY: 返回日期所在月份的最后一天。 示例:`SELECT LAST_DAYqwe2;`
17. MAKEDATE: 创建一个日期。 示例:`SELECT MAKEDATE;`
18. MAKETIME: 创建一个时间。 示例:`SELECT MAKETIME;`
19. SEC_TO_TIME: 将秒转换为时间。 示例:`SELECT SEC_TO_TIME;`
20. TIME_TO_SEC: 将时间转换为秒。 示例:`SELECT TIME_TO_SEC;`
21. FROM_DAYS: 将天数转换为日期。 示例:`SELECT FROM_DAYS;`
22. WEEK: 返回日期是一年中的第几周。 示例:`SELECT WEEKqwe2;`
23. WEEKDAY: 返回日期是一周中的第几天(0表示周日,1表示周一)。 示例:`SELECT WEEKDAYqwe2;`
24. DAYOFWEEK: 返回日期是一周中的第几天(1表示周日,2表示周一)。 示例:`SELECT DAYOFWEEKqwe2;`
25. DAYOFMONTH: 返回日期是一月中的第几天。 示例:`SELECT DAYOFMONTHqwe2;`
26. DAYOFYEAR: 返回日期是一年中的第几天。 示例:`SELECT DAYOFYEARqwe2;`
27. MONTH: 返回日期的月份。 示例:`SELECT MONTHqwe2;`
28. MONTHNAME: 返回日期的月份名称。 示例:`SELECT MONTHNAMEqwe2;`
29. QUARTER: 返回日期是哪个季度。 示例:`SELECT QUARTERqwe2;`
30. YEAR: 返回日期的年份。 示例:`SELECT YEARqwe2;`
31. HOUR: 返回时间的小时数。 示例:`SELECT HOURqwe2;`
32. MINUTE: 返回时间的分钟数。 示例:`SELECT MINUTEqwe2;`
33. SECOND: 返回时间的秒数。 示例:`SELECT SECONDqwe2;`
34. PERIOD_ADD: 向周期添加指定的数字。 示例:`SELECT PERIOD_ADD;`
35. PERIOD_DIFF: 返回两个周期之间的差异。 示例:`SELECT PERIOD_DIFF;`
36. TIME_FORMAT: 按照指定的格式输出时间。 示例:`SELECT TIME_FORMAT, '%H:%i:%s'qwe2;`
37. TIMESTAMP: 将日期和时间组合为一个时间戳。 示例:`SELECT TIMESTAMP;`
38. UNIX_TIMESTAMP: 返回当前时间的Unix时间戳。 示例:`SELECT UNIX_TIMESTAMP;`
39. FROM_UNIXTIME: 将Unix时间戳转换为日期时间。 示例:`SELECT FROM_UNIXTIME;`
40. SYSDATE: 返回当前的系统日期和时间。 示例:`SELECT SYSDATE;`
41. GET_FORMAT: 返回日期时间的格式字符串。 示例:`SELECT GET_FORMAT;`
42. AT TIME ZONE: 将表达式转换为指定时区的日期时间。 示例:`SELECT NOW AT TIME ZONE 'America/New_York';`
43. CONVERT_TZ: 将表达式从一个时区转换为另一个时区。 示例:`SELECT CONVERT_TZ, 'America/New_York', 'Asia/Shanghai'qwe2;`
这些函数可以帮助你处理MySQL中的日期和时间数据,以满足各种不同的需求。
MySQL时间格式化概述
MySQL作为一款广泛使用的开源关系型数据库管理系统,提供了丰富的日期和时间处理功能。时间格式化是其中的一项重要功能,它允许用户将日期和时间数据按照特定的格式进行展示。本文将详细介绍MySQL中的时间格式化方法,帮助用户更好地处理日期和时间数据。
时间格式化函数
DATE_FORMAT
DATE_FORMAT函数可以将日期时间类型转换为字符串,并按照指定的格式进行展示。其语法如下:
DATE_FORMAT(date, format)
其中,date为日期时间类型的数据,format为格式化字符串,可以包含以下占位符:
%Y:四位数的年份
%y:两位数的年份
%m:月份(01-12)
%d:月份中的日(01-31)
%H:24小时制的小时(00-23)
%i:分钟(00-59)
%s:秒(00-59)
%p:AM或PM
STR_TO_DATE
STR_TO_DATE函数可以将字符串转换为日期时间类型,并按照指定的格式进行解析。其语法如下:
STR_TO_DATE(str, format)
其中,str为待转换的字符串,format为格式化字符串,与DATE_FORMAT函数的format参数相同。
FROM_DAYS
FROM_DAYS函数可以将天数转换为日期。其语法如下:
FROM_DAYS(days)
其中,days为天数,从1970年1月1日开始计算。
DATE_ADD
DATE_ADD函数可以在日期上加上指定的时间间隔。其语法如下:
DATE_ADD(date, INTERVAL expr unit)
其中,date为日期时间类型的数据,expr为时间间隔的值,unit为时间单位,如YEAR、MONTH、DAY、HOUR、MINUTE、SECOND等。
DATE_SUB
DATE_SUB函数可以在日期上减去指定的时间间隔。其语法如下:
DATE_SUB(date, INTERVAL expr unit)
其中,date为日期时间类型的数据,expr为时间间隔的值,unit为时间单位,如YEAR、MONTH、DAY、HOUR、MINUTE、SECOND等。
时间格式化示例
显示年月日
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d');
-- 输出:2023-04-01
显示月日年
SELECT DATE_FORMAT(NOW(), '%m/%d/%Y');
-- 输出:04/01/2023
显示完整日期和时间
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
-- 输出:2023-04-01 14:30:00
显示小时和分钟
SELECT DATE_FORMAT(NOW(), '%H:%i');
-- 输出:14:30
显示星期几
SELECT DATE_FORMAT(NOW(), '%W');
-- 输出:Monday
显示月份的名称
SELECT DATE_FORMAT(NOW(), '%M');
-- 输出:April
显示月份的缩写
SELECT DATE_FORMAT(NOW(), '%b');
-- 输出:Apr
显示年份的最后两位数字
SELECT DATE_FORMAT(NOW(), '%y');
-- 输出:23
显示AM或PM
SELECT DATE_FORMAT(NOW(), '%p');
-- 输出:PM
显示秒
SELECT DATE_FORMAT(NOW(), '%s');
-- 输出:00