如何在 MySQL 查询中将日期 YYYYMMDD 转换为 YY-MM-DD?

mysqlmysqli database

要在 MySQL 中将日期 YYYYMMDD 转换为 YY-MM-DD,请使用以下语法 −

select date_format(str_to_date(yourColumnName, '%Y%m%d'),'%Y-%m-%d') from yourTableName;

首先我们创建一个表 −

mysql> create table DemoTable
(
   ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ClientProjectDeadline varchar(200)
);
Query OK, 0 rows affected (0.57 sec)

使用 insert 命令在表中插入一些记录。We have inserted dates in the YYYYMMDD format −

mysql> insert into DemoTable(ClientProjectDeadline) values('20121221');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable(ClientProjectDeadline) values('20190416');
Query OK, 1 row affected (0.53 sec)
mysql> insert into DemoTable(ClientProjectDeadline) values('20160624');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(ClientProjectDeadline) values('20170131');
Query OK, 1 row affected (0.20 sec)

以下是使用 select 语句显示表中的所有记录的查询 −

mysql> select *from DemoTable;

这将产生以下输出 −

+----------+-----------------------+
| ClientId | ClientProjectDeadline |
+----------+-----------------------+
| 1        | 20121221              |
| 2        | 20190416              |
| 3        | 20160624              |
| 4        | 20170131              |
+----------+-----------------------+
4 rows in set (0.00 sec)

以下是在 MySQL 中将日期 YYYYMMDD 转换为 YY-MM-DD 的查询−

mysql> select date_format(str_to_date(ClientProjectDeadline, '%Y%m%d'),'%Y-%m-%d') from DemoTable;

这将产生以下输出 −

+----------------------------------------------------------------------+
| date_format(str_to_date(ClientProjectDeadline, '%Y%m%d'),'%Y-%m-%d') |
+----------------------------------------------------------------------+
| 2012-12-21                                                           |
| 2019-04-16                                                           |
| 2016-06-24                                                           |
| 2017-01-31                                                           |
+----------------------------------------------------------------------+
4 rows in set (0.05 sec)

相关文章