在 SQL Server 2000 和 2005 中:
- 这两个
WHERE
子句有什么区别? - 我应该在哪些情况下使用哪一个?
查询一:
SELECT EventId, EventName
FROM EventMaster
WHERE EventDate BETWEEN '10/15/2009' AND '10/18/2009'
查询 2:
SELECT EventId, EventName
FROM EventMaster
WHERE EventDate >='10/15/2009'
AND EventDate <='10/18/2009'
(编辑:最初缺少第二个 Eventdate,因此查询在语法上是错误的)
原文由 Shyju 发布,翻译遵循 CC BY-SA 4.0 许可协议
它们是相同的:
BETWEEN
是包含两个值(EventDate >= '10/15/2009' and EventDate <= '10/19/2009'
)的问题中较长语法的简写。使用另一种更长的语法,其中
BETWEEN
不起作用,因为不应包含一个或两个值,例如(注意
<
而不是<=
在第二种情况下。)