Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách nhập ngày chỉ có năm (tháng/ngày = 0) trong MySQL

Để lưu ngày chỉ có năm (ví dụ '2017-00-00'), phải tắt mode NO_ZERO_IN_DATE (mặc định bật trong strict mode).

Ví dụ

mysql> INSERT INTO year_testing(OrderDate) VALUES('2017:00:00');
Query OK, 1 row affected (0.09 sec)

mysql> SELECT * FROM year_testing;
+------------+
| OrderDate  |
+------------+
| 2017-00-00 |
+------------+

mysql> SET sql_mode = 'NO_ZERO_IN_DATE';
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO year_testing(OrderDate) VALUES('2017:00:00');
Query OK, 1 row affected, 1 warning (0.04 sec)

mysql> SELECT * FROM year_testing;
+------------+
| OrderDate  |
+------------+
| 2017-00-00 |
| 0000-00-00 |
+------------+

Khi bật NO_ZERO_IN_DATE, MySQL chuyển '2017-00-00' thành '0000-00-00' (cảnh báo). Tắt mode này để cho phép lưu tháng/ngày = 0.