MySql STR_TO_DATE не работает в хранимой процедуре
Я хочу добавить дату из моей JSP в базу данных mysql с помощью сервлета, если я напишу запрос, STR_TO_DATE будет работать корректно для вставки, но если я использую STR_TO_DATE в хранимой процедуре, это даст мне "com.mysql.jdbc.MysqlDataTruncation: усечение данных: неверно значение даты: '11-10-2015'для столбца' ДАТА 'в строке 1".
Мой запрос:
INSERT INTO TABLENAME (DATE) VALUES (STR_TO_DATE('01/01/2010','%d-%m-%Y'));"
Любая идея?
2 ответа
Второй параметр в функции STR_TO_DATE использует неправильный формат. Вам нужно использовать %d/%m/%Y
вместо %d-%m-%Y
потому что ваша дата отформатирована с / seperator.
INSERT INTO TABLENAME (DATE) VALUES (STR_TO_DATE('01/01/2010','%d/%m/%Y'));
STR_TO_DATE
требует форматирования строк для соответствия:
INSERT INTO TABLENAME (DATE) VALUES (STR_TO_DATE('01/01/2010','%d/%m/%Y'));
Обратитесь к документации для получения полной информации.