Я запускаю MySQL 5.7 и хотел преобразовать некоторые строки на сегодняшний день. Я передал руководство здесь: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_str-to-dateMySQL 5.7 STR_TO_DATE
И попробовал следующее (пожалуйста, обратите внимание на версию MySQL)
mysql> SELECT STR_TO_DATE('9','%m');
+-----------------------+
| STR_TO_DATE('9','%m') |
+-----------------------+
| NULL |
+-----------------------+
1 row in set, 1 warning (0.00 sec)
mysql> show warnings;
+---------+------+--------------------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------------------+
| Warning | 1411 | Incorrect datetime value: '9' for function str_to_date |
+---------+------+--------------------------------------------------------+
1 row in set (0.00 sec)
Но с онлайн руководство по MySQL 5.7, я должен выглядеть следующим образом:
mysql> SELECT STR_TO_DATE('9','%m');
-> '0000-09-00'
Есть ли что-то, что мне не хватает, или это может быть ошибка?
Из [Режимы сервера SQL] (https://dev.mysql.com/doc/en/sql-mode.html) (выделено мной): * * Режим SQL по умолчанию в MySQL 5.7 включает следующие режимы: 'ONLY_FULL_GROUP_BY ',' STRICT_TRANS_TABLES', ** ['NO_ZERO_IN_DATE'] (https://dev.mysql.com/doc/en/sql-mode.html#sqlmode_no_zero_in_date) **,' NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO',' NO_AUTO_CREATE_USER' , и "NO_ENGINE_SUBSTITUTION' *". – eggyal