我试着搜索了很多关于这个的问题。但它似乎告诉解决方案引号的使用。
引用: 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#服务捕获。
提前感谢!
您的格式与字符串不匹配。将斜杠更改为-
select STR_TO_DATE('17-08-2016 11:30:51 AM','%d-%m-%Y %h:%i:%s %p');
As Date from Service本身出错了。因此,服务需要更改:
先前正在传递string
类型的billObj.BillingDate
。
改成:
billObj.BillingDate = (DateTime.ParseExact(billObj.BillingDate, HotelApplication.AppCode.BusinessLayer.util.StaticDefinitions.appDateFormat, CultureInfo.InvariantCulture)).ToString();
它工作:)感谢所有的帮助!