区分 BETWEEN 与
在 SQL Server 2000 和 2005 中,BETWEEN 运算符及其组合WHERE 子句中的 <= 和 >= 运算符呈现不同的
BETWEEN 运算符(如查询 1 中所示)是用于指定值范围(包括下限和上限)的简写符号。这使得在搜索两个特定日期之间的值时成为一个方便的选项,如提供的示例中所示。
或者,如查询 2 中所示,= 运算符的组合指定一个范围其中只有一端是包容性的。当一个或两个端点应从选择标准中排除时,通常使用此方法。例如,查询 2 将选择在 10/15/2009 到 10/17/2009 之间发生的事件,不包括 10/18/2009 上的事件。
DATETIME 值的注意事项
但是,在处理 DATETIME 值时,BETWEEN 运算符并且 = 运算符的组合表现不同。对于 DATETIME,比较基于完整的日期和时间(包括秒)。这意味着指定范围“10/15/2009”和“10/18/2009”之间的查询 1 将仅返回 2009 年 10 月 18 日午夜之前发生的事件,从而有效排除当天的任何事件。
为了确保使用 DATETIME 时的准确性,请在比较过程中指定日期和时间。例如,要捕获 10/18/2009 上的所有事件,请使用 BETWEEN 表达式,指定“10/18/2009 00:00”作为下限,“10/18/2009 23:59:59”作为上限绑定。
以上是SQL Server 中的 BETWEEN 与 =:有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!