【问题标题】:MySQL "date_sub(now(), INTERVAL X" Error Code: 1366 Incorrect string value: '\xEF\x80\xA6Top...' for column 's' at row 3MySQL "date_sub(now(), INTERVAL X" Error Code: 1366 Incorrect string value: '\xEF\x80\xA6Top...' for column 's' at row 3
【发布时间】:2013-12-10 00:54:01
【问题描述】:

我有一个问题,这真的让我很困惑。我有一个 MySQL 查询,它工作正常.. 在大多数情况下。在查询中,我从表中查看日期和日期范围,并返回从今天起 X 天前的结果。它看起来像这样:

    WHERE tickets.date_created > date_sub(now(), INTERVAL 30 DAY)

在大多数情况下,查询都可以正常工作。但是,如果我将间隔更改为 80 到 97 之间的数字,我的脚本将无法执行。我得到的错误是:

    Error Code: 1366 Incorrect string value: '\xEF\x80\xA6Top...' for column 's' at row 3

另外,尝试 3 个月而不是 90 天是行不通的。 100 中似乎还有其他数字也不起作用,但是,如果我设置 10000 天之类的值,则所有结果都可以返回。

这是我的数据库中的东西吗?是我的查询吗?有没有人看到这个日期间隔?我做错了什么?

任何人有任何想法:)

非常感谢!

【问题讨论】:

  • 您确定这与日期有关吗? s 列中的内容是什么?

标签: mysql date


【解决方案1】:

我找到了答案!

我们的 MySQL 中内置了一个函数,可以从返回的结果中去除 HTML 和其他字符。虽然它没有在我的选择语句中对日期区域(或不应该)执行任何操作:

   mycleanup (left(tickets_messages.message, 250))

看来,如果我将其更改为简单

   left(tickets_messages.message, 250)

然后我的查询就起作用了!很奇怪,但我想我必须找到另一种方法来解决剥离 HTML 等问题。

【讨论】:

    猜你喜欢
    • 2020-11-18
    • 2011-06-10
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    相关资源
    最近更新 更多