MySQL資料型別僅儲存月份和年份?


您需要將日期儲存為完整日期時間,而不是僅儲存月份和年份。如果宣告為datetime,則可以使用MySQL的MONTH()和YEAR()函式來提取月份和年份。

語法如下 -

select MONTH(yourDateTimeColumnName) as anyVariableName1,
YEAR(yourDateTimeColumnName) as anyVariableName2
from yourTableName;

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

mysql> create table OnlyMonthandYear
   -> (
      -> DueDateTime datetime
   -> );
Query OK, 0 rows affected (0.56 sec)

使用insert命令在表中插入日期。插入記錄的查詢如下 -

mysql> insert into OnlyMonthandYear values('2016-12-10');
Query OK, 1 row affected (0.19 sec)

mysql> insert into OnlyMonthandYear values('2017-10-21');
Query OK, 1 row affected (0.15 sec)

mysql> insert into OnlyMonthandYear values('2018-03-25');
Query OK, 1 row affected (0.31 sec)

mysql> insert into OnlyMonthandYear values('2018-12-18');
Query OK, 1 row affected (0.20 sec)

使用select命令從表中顯示所有記錄。查詢如下 -

mysql> select *from OnlyMonthandYear;
+---------------------+
| DueDateTime         |
+---------------------+
| 2016-12-10 00:00:00 |
| 2017-10-21 00:00:00 |
| 2018-03-25 00:00:00 |
| 2018-12-18 00:00:00 |
+---------------------+
4 rows in set (0.00 sec)

以下查詢僅從datetime資料型別列中提取月份和年份。

查詢如下 -

mysql> select Month(DueDateTime) as OnlyMonth,Year(DueDateTime) as OnlyYear from
OnlyMonthandYear;

輸出

+-----------+----------+
| OnlyMonth | OnlyYear |
+-----------+----------+
|        12 |     2016 |
|        10 |     2017 |
|         3 |     2018 |
|        12 |     2018 |
+-----------+----------+
4 rows in set (0.02 sec)

更新時間:2020-06-29

5K+瀏覽量

開啟你的 事業

透過完成課程獲得認證

開始吧
廣告
© . All rights reserved.