如何在 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)