我在任何地方都找不到真正的答案,所以我在问。
这是我的查询
("SELECT * FROM messages WHERE message_date < ? AND message_date //not greater than// ? AND to_user = ? OR from_user = ? ORDER BY message_date DESC")
我不知道如何检查日期是否大于定义的日期
有两种写法。
一种选择是简单地使用<=
,因为“不大于”等同于“小于或等于”。
另一种是使用NOT
修饰符,例如... AND NOT (message_date > ?)
。
“不大于”与“小于或等于”是一样的,所以:
SELECT * FROM messages
WHERE message_date < ? AND message_date <= ? AND to_user = ? OR from_user = ?
ORDER BY message_date DESC
你只需要检查它是否更少,但如果你想说不是,你可以使用 not!
not(message_date > ?)
也许你想要这样,
SELECT *
FROM messages
WHERE message_date <= ? AND
? IN (to_user, from_user)
ORDER BY message_date DESC
当你说不大于时,它只是意味着小于或等于