คุณต้องใช้ประเภทวันที่เพื่อทำงานกับวันที่ก่อนปี 1970 เนื่องจากวันที่เก็บค่าตั้งแต่ 1,000 ถึง 9999 คุณสามารถใช้ประเภทวันที่เมื่อคุณต้องการทำงานกับส่วนวันที่เท่านั้น ไม่ใช่เพื่อวัตถุประสงค์ด้านเวลา
MySQL ให้ข้อมูลในรูปแบบต่อไปนี้ โดยมีรูปแบบดังนี้ −
'ปปปป-ดด-วว'
ช่วงวันที่เริ่มต้นมีดังนี้ −
1000-01-01
ช่วงวันที่สิ้นสุดมีดังนี้ −
9999-12-31
เพื่อให้เข้าใจสิ่งที่เรากล่าวถึงข้างต้น ให้เราสร้างสองตาราง แบบสอบถามเพื่อสร้างตารางแรกมีดังนี้ −
mysql> สร้างตาราง DateDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> DateBefore1970 date -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.71 วินาที)
ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก เมื่อใดก็ตามที่คุณใช้เกินวันที่สิ้นสุด '9999-12-31' คุณจะได้รับวันที่ '0000-00-00'
ให้เราใส่ระเบียนที่มากกว่า '9999-12-31' แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า DateDemo(DateBefore1970) ('1000-10-20'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DateDemo (DateBefore1970) ('1940-12-31');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า DateDemo (DateBefore1970) ('1500-01-25'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DateDemo (DateBefore1970) ( '1900-04-14');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DateDemo (DateBefore1970) ('1710-11-15'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DateDemo(DateBefore1970) ('9999-12-31'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกลงในค่า DateDemo (DateBefore1970) ('10000-12-31'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ 1 คำเตือน (0.11 วินาที)
ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก DateDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+---+----------------+| รหัส | 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 แถวในชุด (0.00 วินาที)