MySQL "date_sub(now(), INTERVAL X" 错误代码:1366 不正确的字符串值:第 3 行第 's' 列的 'xEFx80xA6Top...'



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

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

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

    Error Code: 1366 Incorrect string value: 'xEFx80xA6Top...' for column 's' at row 3

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

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

任何人有什么想法:)

非常感谢!

我找到了答案!

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

   mycleanup (left(tickets_messages.message, 250))

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

   left(tickets_messages.message, 250)

然后我的查询有效!很奇怪,但我想我必须找到另一种方法来剥离 HTML 等。

相关内容

最新更新