我试图搜索很多关于此问题的问题..但似乎有关引用使用的解决方案。
就我而言,
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.字符串格式也是固定的>我从C#服务中捕获的'17-08-2016 11:30:51 AM'
。
提前致谢!
答案 0 :(得分:2)
您的格式与字符串不匹配。将斜杠更改为 -
select STR_TO_DATE('17-08-2016 11:30:51 AM','%d-%m-%Y %h:%i:%s %p');
答案 1 :(得分:0)
由于服务本身的日期出错了。因此,需要改变服务:
之前正在传递billObj.BillingDate
类型的string
。
改为:
billObj.BillingDate = (DateTime.ParseExact(billObj.BillingDate, HotelApplication.AppCode.BusinessLayer.util.StaticDefinitions.appDateFormat, CultureInfo.InvariantCulture)).ToString();
它成功了:)感谢所有的帮助!