【问题标题】:Incorrect date time format in update statement更新语句中的日期时间格式不正确
【发布时间】:2015-05-17 11:37:54
【问题描述】:

我正在使用 MySQL 数据库。我有一条更新语句,我正在尝试从 ASP.NET SQL 查询更新我的数据表。

UPDATE customer_request 
SET Issue = 'Broken_Wire', 
FixedDate = '2015-05-17 14:05:46' 
WHERE CustReqID = 102 
AND ErrorReportedDate = STR_TO_DATE('5/17/2015 11:42:26 AM','%Y-%m-%d %H:%i:%s')

我收到此错误:

错误代码:1411。日期时间值不正确:函数 str_to_date 的“5/17/2015 11:42:26 AM”

我的查询中有什么不正确的地方?

【问题讨论】:

    标签: mysql asp.net-mvc-4


    【解决方案1】:

    这部分 where 子句没有正确设置日期格式

      STR_TO_DATE('5/17/2015 11:42:26 AM','%Y-%m-%d %H:%i:%s')
    

    你可能想要

      STR_TO_DATE('5/17/2015 11:42:26 AM','%c/%e/%Y %H:%i:%s')
    

    在哪里

     %e  = Day of the month without leading zero e.g., 1,2,…31 
     %c  = Month in numeric e.g., 1, 2, 3…12
     %Y  = Four digits year e.g., 2000, 2001
     %H  = Hour with 24-hour format with leading zero e.g., 00..23
     %i  = Minutes with leading zero e.g., 00, 01,…59
     %S or %s = Seconds with leading zero 00,01,…59
    

    你可以阅读DATE_FORMAT specifiers here

    【讨论】:

    • 尝试使用该格式但仍然给出相同的错误
    • 删除了 AM/PM 规范,更改了 %c 中的 %m 并在 MySql Workbench 中进行了尝试。它似乎工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多