2016-08-17 153 views
0

我試圖搜索很多關於這個問題..但它似乎告訴解決方案行情使用。STR_TO_DATE不正確的日期時間mysql

引用1234

在我的情況下,

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秒」 的功能STR_TO_DATE

注:1.日期格式是固定>'%d/%m/%Y %h:%i:%s %p'
2.和字符串格式也被固定>'17-08-2016 11:30:51 AM'我從C#服務捕獲。

在此先感謝!

+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(); 

而且它的工作:)感謝所有幫助!

相關問題