SQL : BETWEEN vs lt;= and gt;=(SQL : BETWEEN vs lt;= 和 gt;=)
问题描述
在 SQL Server 2000 和 2005 中:
In SQL Server 2000 and 2005:
- 这两个
WHERE子句有什么区别? - 我应该在哪些场景中使用哪个?
查询 1:
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,因此查询在语法上是错误的)
( the second Eventdate was originally missing, so the query was syntactically wrong)
推荐答案
它们是相同的:BETWEEN 是问题中较长语法的简写,其中包含两个值 (EventDate >= '10/15/2009' 和 EventDate <= '10/19/2009').
They are identical: BETWEEN is a shorthand for the longer syntax in the question that includes both values (EventDate >= '10/15/2009' and EventDate <= '10/19/2009').
使用另一种更长的语法,其中 BETWEEN 不起作用,因为不应包含一个或两个值,例如
Use an alternative longer syntax where BETWEEN doesn't work because one or both of the values should not be included e.g.
Select EventId,EventName from EventMaster
where EventDate >= '10/15/2009' and EventDate < '10/19/2009'
(注意 < 而不是 <= 在第二个条件中.)
(Note < rather than <= in second condition.)
这篇关于SQL : BETWEEN vs <= 和 >=的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:SQL : BETWEEN vs <= 和 >=
基础教程推荐
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- 无法解决整理冲突 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
- 在 SQL 中连接多个表 2021-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- 是否可以执行按位分组功能? 2021-01-01
