MySQL中的日期转换函数实现(mysql的日期转换函数)
MySQL 数据库有一系列用于处理日期和时间的函数,用以处理表中的日期或时间字段,各函数功能不同,其中大多数函数会隐式地将字符串类型转换为日期或时间类型,使日期处理更容易。本文将介绍MySQL中的日期转换函数。
DATETIME(): DATETIME()函数用于将字符串类型的日期转换为DATETIME类型的日期,字符串的格式和MySQL格式‘YYYY-MM-DD HH:MM:SS’保持一致,如果字符串的格式不一致,将无法转换成DATETIME类型的日期,如果转换失败,MySQL返回一个默认DATETIME值‘0000-00-00 00:00:00’:
mysql> select datetime(‘2018-07-22 15:26:32’);
+——————————————-+
| datetime(‘2018-07-22 15:26:32’) |
+——————————————-+
| 2018-07-22 15:26:32 |
+——————————————-+
1 row in set (0.00 sec)
DATE_FORMAT(): DATE_FORMAT()函数可以将日期转换为用户自定义格式的字符串,其使用方法为DATE_FORMAT(date,format),date参数可以是字符串类型或者 date 类型,format 表示转换后需要显示的格式,比如%Y表示年份,%r表示星期,%d表示日期等等:
mysql> SELECT DATE_FORMAT(CURDATE(), ‘%Y年%m月%d日 星期%w’);
+———————————-+
| DATE_FORMAT(CURDATE(), ‘%Y年%m月%d日 星期%w’) |
+———————————-+
| 2020年03月13日 星期5 |
+———————————-+
1 row in set (0.00 sec)
FROM_UNIXTIME(): FROM_UNIXTIME()函数接受一个UNIX时间戳作为输入参数,并将其转换为世界标准时间,其格式可以通过format参数来指定:
mysql> SELECT FROM_UNIXTIME(1303628225, ‘%Y-%m-%d %h:%i:%s’);
+———————————+
| FROM_UNIXTIME(1303628225, ‘%Y-%m-%d %h:%i:%s’) |
+———————————+
| 2011-04-24 09:50:25 |
+———————————+
1 row in set (0.00 sec)
UNIX_TIME(): UNIX_TIME()函数用于将参数转换为UNIX时间戳,其原型为UNIX_TIME(date),date参数可以是字符串类型或者date类型的日期:
mysql> SELECT UNIX_TIME(‘2021-01-07 15:52:01’);
+————————————+
| UNIX_TIME(‘2021-01-07 15:52:01’) |
+————————————+
| 1610027321 |
+————————————+
1 row in set (0.00 sec)
以上就是MySQL中常用的几个日期转换函数,如果存在复杂的日期处理情况,可以根据自己的需求选择恰当的函数来实现。