ในการจัดเก็บวันที่ดังกล่าวโดยที่วัน เดือน หรือทั้งสองเดือนและวันเป็นศูนย์ เราต้องตั้งค่าโหมดของ sql เป็นโหมด allow_invalid_dates
mysql> set sql_mode = 'allow_invalid_dates'; Query OK, 0 rows affected (0.00 sec) mysql> insert into check_date(OrderDate) values('2017-00-00'); Query OK, 1 row affected (0.06 sec) mysql> select * from check_date; +-------------+ | OrderDate | +-------------+ | 2017-00-00 | +-------------+ 1 row in set (0.00 sec)
ข้อความค้นหาด้านบนจะแทรกวันที่ซึ่งค่าทั้งเดือนและวันเป็นศูนย์
mysql> insert into check_date(Orderdate) values ('2017-00-05'); Query OK, 1 row affected (0.07 sec) mysql> select * from check_date; +------------+ | Orderdate | +------------+ | 2017-00-00 | | 2017-00-05 | +------------+ 2 rows in set (0.00 sec)
แบบสอบถามด้านบนจะแทรกวันที่ที่ค่าเดือนเป็นศูนย์
mysql> insert into check_date(Orderdate) values ('2017-05-00'); Query OK, 1 row affected (0.02 sec) mysql> select * from check_date; +------------+ | Orderdate | +------------+ | 2017-00-00 | | 2017-00-05 | | 2017-05-00 | +------------+ 3 rows in set (0.00 sec)
ข้อความค้นหาด้านบนจะแทรกวันที่ซึ่งค่าของวันเป็นศูนย์