1. `DATE_FORMAT`: 将日期格式化为指定的格式。例如:```sqlSELECT DATE_FORMAT, '%Y%m%d %H:%i:%s'qwe2;```输出结果为当前日期时间的格式化字符串。

2. `STR_TO_DATE`: 将字符串按照指定的格式转换为日期。例如:```sqlSELECT STR_TO_DATE;```输出结果为 20231223 15:30:45 的日期时间。

3. `CURDATE`: 返回当前日期。例如:```sqlSELECT CURDATE;```输出结果为当前日期。

4. `CURTIME`: 返回当前时间。例如:```sqlSELECT CURTIME;```输出结果为当前时间。

5. `NOW`: 返回当前日期和时间。例如:```sqlSELECT NOW;```输出结果为当前日期和时间。

6. `UTC_DATE`: 返回当前的UTC日期。例如:```sqlSELECT UTC_DATE;```输出结果为当前的UTC日期。

7. `UTC_TIME`: 返回当前的UTC时间。例如:```sqlSELECT UTC_TIME;```输出结果为当前的UTC时间。

8. `UNIX_TIMESTAMP`: 将日期转换为UNIX时间戳。例如:```sqlSELECT UNIX_TIMESTAMPqwe2;```输出结果为当前日期时间的UNIX时间戳。

9. `FROM_UNIXTIME`: 将UNIX时间戳转换为日期。例如:```sqlSELECT FROM_UNIXTIME;```输出结果为 20230101 00:00:00 的日期时间。

10. `MAKEDATE`: 根据年份和一年中的第几天创建一个日期。例如:```sqlSELECT MAKEDATE;```输出结果为 20230503 的日期。

11. `MAKETIME`: 根据小时、分钟和秒创建一个时间。例如:```sqlSELECT MAKETIME;```输出结果为 15:30:45 的时间。

12. `EXTRACT`: 从日期中提取指定的字段。例如:```sqlSELECT EXTRACTqwe2;```输出结果为当前年份。

13. `WEEK`: 返回日期是一年中的第几周。例如:```sqlSELECT WEEKqwe2;```输出结果为当前日期是一年中的第几周。

14. `MONTH`: 返回日期的月份。例如:```sqlSELECT MONTHqwe2;```输出结果为当前日期的月份。

15. `DAY`: 返回日期的天数。例如:```sqlSELECT DAYqwe2;```输出结果为当前日期的天数。

这些函数可以帮助你在MySQL中处理和格式化日期和时间数据。根据具体需求选择合适的函数进行操作。

MySQL格式化时间函数概述

MySQL数据库提供了丰富的日期和时间函数,这些函数可以帮助开发者轻松地处理和格式化日期和时间数据。格式化时间函数是其中一类,它们允许用户将日期时间值转换为不同的格式,以便于显示或存储。本文将详细介绍MySQL中常用的格式化时间函数及其应用。

常用格式化时间函数

1. 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)

%a:星期几的缩写(Sun-Sat)

%w:星期几的数字(0-6,0表示星期天)

%j:一年中的天数(001-366)

2. STR_TO_DATE

STR_TO_DATE函数可以将字符串转换为日期时间值。其语法如下:

STR_TO_DATE(str, format)

其中,str为要转换的字符串,format为格式化模式字符串。该函数与DATE_FORMAT函数的format参数相反,用于指定字符串的格式。

3. TIME_FORMAT

TIME_FORMAT函数可以将时间值格式化为指定的字符串格式。其语法如下:

TIME_FORMAT(time, format)

其中,time为时间值,format为格式化模式字符串。该函数与DATE_FORMAT函数类似,但仅用于时间值。

4. UNIX_TIMESTAMP

UNIX_TIMESTAMP函数可以将日期时间值转换为自1970年1月1日以来的秒数。其语法如下:

UNIX_TIMESTAMP(date)

其中,date为日期时间值。该函数常用于将日期时间值转换为时间戳。

5. FROM_UNIXTIME

FROM_UNIXTIME函数可以将自1970年1月1日以来的秒数转换为日期时间值。其语法如下:

FROM_UNIXTIME(unix_timestamp)

其中,unix_timestamp为自1970年1月1日以来的秒数。该函数常用于将时间戳转换为日期时间值。

格式化时间函数的应用实例

1. 格式化当前日期时间

将当前日期时间格式化为“YYYY-MM-DD HH:ii:ss”格式:

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');

2. 将字符串转换为日期时间值

将字符串“2022-01-01 12:00:00”转换为日期时间值:

SELECT STR_TO_DATE('2022-01-01 12:00:00', '%Y-%m-%d %H:%i:%s');

3. 格式化时间值

将时间值“12:00:00”格式化为“HH:i:ss”格式:

SELECT TIME_FORMAT('12:00:00', '%H:%i:%s');

4. 转换时间戳

将自1970年1月1日以来的秒数转换为日期时间值:

SELECT FROM_UNIXTIME(1672531200);