我想实现以下查询。它选择具有截止日期的行(entries.end SET SESSION time_zone = '+8:00';SELECT chatID, descriptionFROM entriesWHERE TIMESTAMPDIFF(SECOND , entries.end, NOW( ) ) BETWEEN 0 AND 3601然而,实际上,它不起作用。甚至没有下面的查询SET SESSION time_zone = '+8:00';SELECT chatID, descriptionFROM entriesWHERE TIMESTAMPDIFF(SECOND , entries.end, NOW( ) )<=3600AND TIMESTAMPDIFF(SECOND , entries.end, NOW( ) )>=0尽管如此,以下代码正在运行。SET SESSION time_zone = '+8:00';SELECT chatID, descriptionFROM entriesWHERE TIMESTAMPDIFF(SECOND , entries.end, NOW( ) ) <=3600任何帮助表示赞赏。谢谢这里的每一个人。 编辑 最佳答案 不要将您的列隐藏在函数中。WHERE entries.end >= NOW() - INTERVAL 1 HOUR AND entries.end <= NOW()易于书写和清晰。此外,如果 end 被索引,则有可能使用该索引以提高效率。关于php - MYSQL 中的范围不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37364060/
10-15 19:54