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'));

Обратитесь к документации для получения полной информации.

Другие вопросы по тегам