1

对于我有时间戳和日期字段的大多数查询,我遇到了一些奇怪的问题,在我将时区从 PST 更改为 IST 后,工作正常的查询现在无法正常工作。

考虑这个查询,

select SQL_CALC_FOUND_ROWS * from `mydb`.`mytable` WHERE (Date(timestamp) BETWEEN '2013-12-01' and '2012-12-16') and scpets= 'accessories' and images = 'Yes' and videoflag = 'Yes' and maps = 'Yes' and flag = 1 and title LIKE '%Book%' order  by Date(timestamp) desc Limit 0, 100

当我知道存在 2 条符合查询条件的记录时,我给了我 0 条记录。

现在,当我从查询中删除 between 子句时,它给了我正确的记录。我在这里迷失了现在在哪里进行更正,因为查询看起来非常好,并且正确的输入从我的程序传递到 sql 查询。所有标记为 Yes 的字段是枚举列。

此外,我的 SimpleDataParser 类在 2 周前工作正常,现在因无法解析的日期异常而失败。我修复了这个,但我的上述功能仍然被破坏。

有人可以建议我在我对笔记本电脑所做的更改之间有什么关系吗(我将笔记本电脑的时区从 PST 更改为 IST)。我的笔记本电脑上有 mysql 和 jdk 以及所有服务器。

现在我很害怕撤销更改,因为它可能会完全破坏我的应用程序,我真的不想做不必要的返工。

4

1 回答 1

0

啊,我的错,我正在搜索未来的日期(2013-12-01 '和'2012-12-16),我在jquery datepicker中不好,我添加了默认日期+365而不是-365。问题已解决。我真的不知道为什么继续犯愚蠢的错误,然后浪费时间来纠正这些错误。

于 2012-12-15T20:18:45.887 回答