ใช้ชนิดข้อมูล DATE สำหรับวันที่ก่อนปี 1970 เพราะ DATE รองรับช่วง 1000-01-01 ถึง 9999-12-31
ช่วงวันที่ที่รองรับ
- เริ่มต้น:
1000-01-01 - สิ้นสุด:
9999-12-31 - รูปแบบ:
YYYY-MM-DD
ไม่เหมาะกับ TIMESTAMP (รองรับแค่ 1970-2038)
ตัวอย่างการใช้งาน
สร้างตาราง:
mysql> create table DateDemo (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> DateBefore1970 date
-> );
Query OK, 0 rows affected (0.71 sec)
เพิ่มข้อมูลวันที่ต่างๆ:
mysql> insert into DateDemo(DateBefore1970) values('1000-10-20');
mysql> insert into DateDemo(DateBefore1970) values('1940-12-31');
mysql> insert into DateDemo(DateBefore1970) values('1500-01-25');
mysql> insert into DateDemo(DateBefore1970) values('1900-04-14');
mysql> insert into DateDemo(DateBefore1970) values('1710-11-15');
mysql> insert into DateDemo(DateBefore1970) values('9999-12-31');
mysql> insert into DateDemo(DateBefore1970) values('10000-12-31'); -- เกินขอบเขต
ผลลัพธ์ (แถวสุดท้ายเกินขอบเขตกลายเป็น 0000-00-00):
+----+----------------+ | 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 | +----+----------------+
สรุป: ใช้ DATE สำหรับวันที่ในอดีตหรืออนาคตไกล DATETIME ก็ได้แต่ใช้พื้นที่มากกว่า