Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm việc với các ngày trước năm 1970 trong MySQL?

Bạn cần sử dụng loại ngày để làm việc với ngày trước năm 1970 vì ngày lưu trữ giá trị từ 1000 đến 9999. Loại ngày có thể được sử dụng khi bạn chỉ cần làm việc với phần ngày không cho mục đích thời gian.

MySQL cung cấp dữ liệu ở định dạng sau. Định dạng như sau -

‘YYYY-MM-DD’

Phạm vi ngày bắt đầu như sau -

1000-01-01

Phạm vi ngày kết thúc như sau -

9999-12-31

Để hiểu những gì chúng ta đã thảo luận ở trên, chúng ta hãy tạo hai bảng. Truy vấn để tạo bảng đầu tiên như sau -

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

Bây giờ bạn có thể chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert. Bất cứ khi nào bạn sử dụng vượt quá ngày kết thúc '9999-12-31', bạn sẽ nhận được ngày "0000-00-00".

Hãy để chúng tôi chèn một bản ghi lớn hơn '9999-12-31'. Truy vấn như sau -

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)

Bây giờ bạn có thể hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from DateDemo;

Sau đây là kết quả -

+----+----------------+
| 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)