您的位置:

MySQL日期转换详解

一、MySQL日期转换成字符串

MySQL日期转换成字符串可以通过使用DATE_FORMAT(date, format)函数实现。其中date是日期值,format是指定输出日期的格式。例如:将日期转换为年份-月份-日期格式,可以使用以下语句:

SELECT DATE_FORMAT('2021-10-22', '%Y-%m-%d');  -- 输出结果为'2021-10-22'

其中,%Y表示4位数字格式的年份,%m表示2位数字格式的月份,%d表示2位数字格式的日期。通过修改format参数,可以得到不同的日期格式。

二、MySQL日期格式转换

MySQL日期格式转换可以使用STR_TO_DATE(str, format)函数。其中,str是一个字符串,表示需要转换的日期,format是指定日期字符串的格式的字符串。例如,将日期字符串'20211022'转换为日期类型:

SELECT STR_TO_DATE('20211022', '%Y%m%d'); -- 输出结果为'2021-10-22'

其中,%Y%m%d的意义与上文相同。通过修改format参数,可以支持更多的日期格式。

三、MySQL日期转换时间24小时制

MySQL日期转换时间24小时制可以使用DATE_FORMAT(date, '%H:%i:%s')函数,其中%H表示2位数的小时(00~23),%i表示2位数的分钟(00~59),%s表示2位数的秒(00~59)。例如,将日期时间转换为时间格式:

SELECT DATE_FORMAT('2021-10-22 14:20:56', '%H:%i:%s'); -- 输出结果为'14:20:56'

四、MySQL日期转换为毫秒

MySQL日期转换为毫秒可以使用UNIX_TIMESTAMP(date)函数将日期转换为Unix时间戳(秒级别),然后通过将时间戳乘以1000得到毫秒级别的时间戳。

SELECT UNIX_TIMESTAMP('2021-10-22 14:20:56') * 1000; -- 输出结果为'1634901656000'

五、MySQL日期转换函数

MySQL提供了多个日期转换的函数,除了上文提到的DATE_FORMAT()STR_TO_DATE()函数外,还有以下函数:

  • FROM_UNIXTIME():将Unix时间戳转换为日期时间格式
  • UNIX_TIMESTAMP():将日期时间格式转换为Unix时间戳
  • DATE():提取日期部分
  • TIME():提取时间部分
  • YEAR()MONTH()DAY()HOUR()MINUTE()SECOND():提取年、月、日、小时、分钟、秒等部分

六、MySQL日期转换成数字

MySQL日期转换成数字可以使用UNIX_TIMESTAMP(date)函数将日期转换为Unix时间戳(秒级别),然后将时间戳转换为数字。

SELECT CAST(UNIX_TIMESTAMP('2021-10-22 14:20:56') AS UNSIGNED); -- 输出结果为'1634901656'

七、MySQL日期转换为yyyymmdd

MySQL日期转换为yyyymmdd可以使用DATE_FORMAT(date, '%Y%m%d')函数。

SELECT DATE_FORMAT('2021-10-22', '%Y%m%d'); -- 输出结果为'20211022'

八、MySQL日期转换todate

MySQL日期转换todate可以使用STR_TO_DATE(str, format)函数。

SELECT STR_TO_DATE('20211022', '%Y%m%d'); -- 输出结果为'2021-10-22'

九、MySQL日期格式化函数

MySQL日期格式化函数中包含了将日期转换成字符串、日期格式转换、时间格式化、日期转换为数字、提取年月日时分秒等多种常用的日期处理方法。

SELECT DATE_FORMAT('2021-10-22 14:20:56', '%Y-%m-%d %H:%i:%s'); -- 输出结果为'2021-10-22 14:20:56'