在 MySQL 中處理 1970 年之前的時間?


您需要使用 date 型別才能處理 1970 年之前的日期,因為 date 儲存 1000 至 9999 的值。只有在您需要處理日期部分而不是時間部分時,才能使用 date 型別。

MySQL 以以下格式提供資料。格式如下:

‘YYYY-MM-DD’

開始日期範圍如下:

1000-01-01

結束日期範圍如下:

9999-12-31

為了理解我們上面討論的內容,我們建立兩個表。建立第一個表的查詢如下:

mysql> create table DateDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> DateBefore1970 date
   -> );
Query OK, 0 rows affected (0.71 sec)

現在,您可以使用 insert 命令向表中插入一些記錄。每當您使用超出結束日期“9999-12-31”時,您將獲得一個日期“0000-00-00”。

讓我們插入一個大於“9999-12-31”的記錄。查詢如下:

mysql> insert into DateDemo(DateBefore1970) values('1000-10-20');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DateDemo(DateBefore1970) values('1940-12-31');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DateDemo(DateBefore1970) values('1500-01-25');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DateDemo(DateBefore1970) values('1900-04-14');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DateDemo(DateBefore1970) values('1710-11-15');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DateDemo(DateBefore1970) values('9999-12-31');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DateDemo(DateBefore1970) values('10000-12-31');
Query OK, 1 row affected, 1 warning (0.11 sec)

現在,您可以使用 select 語句顯示錶中的所有記錄。查詢如下:

mysql> select *from DateDemo;

以下是輸出:

+----+----------------+
| Id | DateBefore1970 |
+----+----------------+
|  1 | 1000-10-20     |
|  2 | 1940-12-31     |
|  3 | 1500-01-25     |
|  4 | 1900-04-14     |
|  5 | 1710-11-15     |
|  6 | 9999-12-31     |
|  7 | 0000-00-00     |
+----+----------------+
7 rows in set (0.00 sec)

更新於:2019 年 7 月 30 日

906 次瀏覽

開啟你的 職業

透過完成課程獲得證書

開始
廣告
© . All rights reserved.