2

我在任何地方都找不到真正的答案,所以我在问。

这是我的查询

("SELECT * FROM messages WHERE message_date < ? AND message_date //not greater than// ? AND to_user = ? OR from_user = ? ORDER BY message_date DESC")

我不知道如何检查日期是否大于定义的日期

4

4 回答 4

3

有两种写法。

一种选择是简单地使用<=,因为“不大于”等同于“小于或等于”。

另一种是使用NOT修饰符,例如... AND NOT (message_date > ?)

于 2012-11-26T06:29:35.550 回答
1

“不大于”与“小于或等于”是一样的,所以:

SELECT * FROM messages
WHERE message_date < ? AND message_date <= ? AND to_user = ? OR from_user = ?
ORDER BY message_date DESC
于 2012-11-26T06:31:25.693 回答
0

你只需要检查它是否更少,但如果你想说不是,你可以使用 not!

not(message_date > ?)
于 2012-11-26T06:29:30.937 回答
0

也许你想要这样,

SELECT * 
FROM messages 
WHERE message_date <= ?  AND
      ? IN (to_user, from_user)
ORDER BY message_date DESC

当你说不大于时,它只是意味着小于或等于

于 2012-11-26T06:29:48.250 回答