2016-08-17 3 views
0

Я попытался найти много вопросов об этом .. Но, кажется, говорит о решениях Цитаты.STR_TO_DATE некорректное datetime mysql

ссылки: 1, 2, 3, 4

В моем случае,

select STR_TO_DATE('17-08-2016 11:30:51 AM','%d/%m/%Y %h:%i:%s %p'); 

дает выход NULL.
И В INSERT заявлении:

INSERT INTO BILLING(BILL_NUMBER,BILLING_DATE) 
VALUES ('1',STR_TO_DATE('17-08-2016 11:30:51 AM','%d/%m/%Y %h:%i:%s %p')); 

Он бросает Ошибка:

Код ошибки: 1411. Неправильное значение даты и времени: '17 -08-2016 11:30:51 AM» для функции str_to_date

Примечание: 1. формат даты фиксирована>'%d/%m/%Y %h:%i:%s %p'
2. И формат строки также фиксирована>'17-08-2016 11:30:51 AM', который я беру с C# Service.

Спасибо заранее!

+2

заменить '/' на дефис. 'select STR_TO_DATE ('17 -08-2016 11:30:51 AM ','% d-% m-% Y% h:% i:% s% p ');' – 1000111

+0

формат даты, я получаю через обслуживание. Так что не могу его изменить – Vikrant

+0

Я попросил изменить формат, а не дату. Смотри внимательно – 1000111

ответ

2

Ваш формат не соответствует строке. Смените косую черту на -

select STR_TO_DATE('17-08-2016 11:30:51 AM','%d-%m-%Y %h:%i:%s %p'); 
0

В качестве даты со службы возникла ошибка. Таким образом, необходимо изменить сервис:

Ранее billObj.BillingDate тип string.

Это изменено на:

billObj.BillingDate = (DateTime.ParseExact(billObj.BillingDate, HotelApplication.AppCode.BusinessLayer.util.StaticDefinitions.appDateFormat, CultureInfo.InvariantCulture)).ToString(); 

И это сработало :) Спасибо всем помогает!

Смежные вопросы