【问题标题】:Incorrect datetime value: '2017-11-%' for column日期时间值不正确:列的“2017-11-%”
【发布时间】:2017-11-28 11:17:47
【问题描述】:

我正在尝试从输入字符串(如"YYYY-MM")指定的月份中选择记录。所以我只是在查询中输入了"LIKE $yearMonth-%"

它会产生以下警告:

“数据时间值不正确”

但查询似乎运行良好。

我想这不是 100% 正确的方法,但这显然是一种非常简单易行的方法,而且很明显它有效......所以我需要麻烦吗?

如果是这样,最简单的修复方法是什么?

<?php
$month = "2017-11";

$query = "SELECT * from table WHERE dates LIKE '{$month}-%'
?>

“日期”的数据类型为 DATETIME

【问题讨论】:

  • 您不应将字符串与日期进行比较。比较相同的数据类型
  • 向我们展示您正在运行的整个查询,如果它包含插入的 PHP 变量,那么向我们展示您想要运行的整个原始查询的示例。
  • 我添加了代码示例。

标签: mysql


【解决方案1】:

你可以试试这个解决方案Link

SELECT create_date FROM table WHERE MONTH(create_date) = X

与 YEAR 的工作方式相同,因此您可以获得结果

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 2017-09-17
    • 1970-01-01
    • 2016-03-05
    • 2017-11-02
    • 2020-06-17
    相关资源
    最近更新 更多