0

我有一个问题,这真的让我很困惑。我有一个 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 天的值,所有结果都可以返回。

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

任何人有任何想法:)

非常感谢!

4

1 回答 1

0

我找到了答案!

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

   mycleanup (left(tickets_messages.message, 250))

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

   left(tickets_messages.message, 250)

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

于 2012-10-07T13:51:38.093 回答