OR (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库

将两个条件组合起来。 在一个语句中使用多个逻辑运算符时,在 AND 运算符之后对 OR 运算符求值。 不过,使用括号可以更改求值的顺序。

Transact-SQL 语法约定

语法

boolean_expression OR boolean_expression  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

boolean_expression
返回 TRUE、FALSE 或 UNKNOWN 的任何有效表达式

结果类型

布尔值

结果值

当两个条件中的任何一个为 TRUE 时,OR 返回 TRUE。

备注

下表显示 OR 运算符的结果。

true FALSE UNKNOWN
TRUE TRUE TRUE TRUE
FALSE TRUE FALSE UNKNOWN
未知 true UNKNOWN UNKNOWN

示例

以下示例使用 vEmployeeDepartmentHistory 视图检索加晚班或夜班的 Quality Assurance 人员的姓名。 如果省略括号,查询将返回加晚班的 Quality Assurance 雇员和所有加夜班的雇员。

-- Uses AdventureWorks  
  
SELECT FirstName, LastName, Shift   
FROM HumanResources.vEmployeeDepartmentHistory  
WHERE Department = 'Quality Assurance'  
   AND (Shift = 'Evening' OR Shift = 'Night');  

下面是结果集。

FirstName    LastName         Shift 
------------ ---------------- ------- 
Andreas      Berglund         Evening 
Sootha       Charncherngkha   Night

示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

以下示例检索所得的 BaseRate 少于 20 或 HireDate 在 2001 年 1 月 1 日或在此之后的员工的姓名。

-- Uses AdventureWorks  
  
SELECT FirstName, LastName, BaseRate, HireDate   
FROM DimEmployee  
WHERE BaseRate < 10 OR HireDate >= '2001-01-01';  

另请参阅

表达式(Transact-SQL)
内置函数 (Transact-SQL)
运算符 (Transact-SQL)
SELECT (Transact-SQL)
WHERE (Transact-SQL)