STR_TO_DATE错误的datetime mysql

时间:2016-08-17 06:42:33

标签: mysql datetime str-to-date

我试图搜索很多关于此问题的问题..但似乎有关引用使用的解决方案。

引用1234

就我而言,

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

给出输出NULLINSERT陈述中:

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'

提前致谢!

2 个答案:

答案 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();

它成功了:)感谢所有的帮助!