在 MySQL 中根據日期、月、年欄位建立日期?


您可以使用 MySQL 中的內建函式 STR_TO_DATE()。語法如下所示 −

SELECT
STR_TO_DATE(CONCAT(yourYearColumName,'-',LPAD(yourMonthColumName,2,'00'),'-',LPAD(yourDayColumName,2,'00')), '%Y-%m-%d') as anyVariableName from yourTableName;

為了理解上述語法,讓我們建立一個表。建立表的查詢如下 −

mysql> create table DateCreateDemo
   −> (
   −> `Day` varchar(2),
   −> `Month` varchar(2),
   −> `Year` varchar(4)
   −> );
Query OK, 0 rows affected (1.68 sec)

使用 insert 命令為所有欄位插入值。查詢如下所示 −

mysql> insert into DateCreateDemo values('15','12','2018');
Query OK, 1 row affected (0.09 sec)

mysql> insert into DateCreateDemo values('10','11','2016');
Query OK, 1 row affected (0.37 sec)

mysql> insert into DateCreateDemo values('12','6','2017');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DateCreateDemo values('9','8','2019');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DateCreateDemo values('10','5','2020');
Query OK, 1 row affected (0.09 sec)

使用 select 語句在表中顯示所有記錄。查詢如下所示 −

mysql> select *from DateCreateDemo;

以下為輸出 −

+------+-------+------+
| Day  | Month | Year |
+------+-------+------+
| 15   | 12    | 2018 |
| 10   | 11    | 2016 |
| 12   | 6     | 2017 |
| 9    | 8     | 2019 |
| 10   | 5     | 2020 |
+------+-------+------+
5 rows in set (0.00 sec)

使用上述三個欄位(“日期”、“月份”和“年份”)建立日期。查詢如下 −

mysql> select
   −> STR_TO_DATE(CONCAT(Year,'-',LPAD(Month,2,'00'),'-',LPAD(day,2,'00')), '%Y-%m-%d') as DateDemo from DateCreateDemo;

以下為輸出 −

+------------+
| DateDemo   |
+------------+
| 2018-12-15 |
| 2016-11-10 |
| 2017-06-12 |
| 2019-08-09 |
| 2020-05-10 |
+------------+
5 rows in set (0.06 sec)

更新時間:2019 年 7 月 30 日

2000+ 次觀看

開啟你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.