0

我试图搜索很多关于这个的问题。但它似乎告诉解决方案关于Quotes的使用。

参考文献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。日期时间值不正确:函数 str_to_date 的“17-08-2016 11:30:51 AM”

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

提前致谢!

4

2 回答 2

2

您的格式与字符串不匹配。将斜杠更改为 -

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

由于服务本身的日期出错了。因此,需要更改服务:

以前是传递billObj.BillingDate类型string

它改为:

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

它解决了:) 感谢所有帮助!

于 2016-08-17T07:00:24.347 回答