比较运算符(数据库引擎)

比较运算符可用于字符、数字或日期数据,并可用在查询的 WHERE 或 HAVING 子句中。比较运算符计算结果为布尔数据类型,并根据测试条件的输出结果返回 TRUE 或 FALSE。

例如,要计算在 1998 年 3 月 15 日或在此之前聘用员工的奖金,通过比较员工的 hire_date 是否小于或等于 1998 年 3 月 15 日 (March 15, 1998),可提供应该获得奖金的员工列表。

有效的比较预算符包括以下内容:

  • >(大于)
  • <(小于)
  • =(等于)
  • <=(小于或等于)
  • >=(大于或等于)
  • !=(不等于)
  • <>(不等于)
  • !<(不小于)
  • !>(不大于)

比较运算符还可用于在程序逻辑中查找条件。例如,如果国家/地区值为“英国”而不是“西班牙”,则将应用不同的运费。在这种情况下,可使用比较运算符、表达式(列名)、文字(“英语”)和控制流编程关键字 (IF) 的组合来达到上述目的。

对查询的实际数据具有访问权限的任何人均可在附加查询中使用比较运算符。对于那些进行数据修改的语句,只有在具有相应权限并且可以更改数据的人员有限的情况下才能使用比较运算符。这有助于维护数据完整性。

查询还使用字符串比较,对本地变量、游标或列中的值与常量进行比较。例如,所有国家/地区为英国的客户行均应打印。下表显示了 Unicode 与非 Unicode 数据之间的字符串比较示例,其中 ST1 为 char,ST2 为 nchar

比较 说明

ST1 = ST2

等同于 CONVERT(nchar, ST1) = ST2 或 CAST(ST1 as nchar) = ST2。

ST1 = '非 Unicode 字符串'

常规 SQL-92 字符串比较。

ST2 = '非 Unicode 字符串'

等同于 ST2 = CONVERT(nchar, '非 Unicode 字符串') 或 ST2 = CAST('非 Unicode 字符串' AS nchar)。

ST2 = N''

Unicode 比较。

CONVERT(nchar, ST1) = ST2 或 CAST(ST1 AS nchar) = ST2

Unicode 比较。

ST1 = CONVERT(char, ST2) 或 ST1 = CAST(ST2 AS char)

常规 SQL-92 字符串比较。

N'' (包含在括号中的 Unicode 空字符串)

空字符串。

'' (非 Unicode 空字符串)

空字符串或包含一个空字符的字符串(取决于 SQL-92 设置)。

请参阅

其他资源

=(等于)(Transact-SQL)
<>(不等于)(Transact-SQL)
>(大于)(Transact-SQL)
!<(不小于)(Transact-SQL)
<(小于)(Transact-SQL)
!=(不等于)(Transact-SQL)
>=(大于或等于)(Transact-SQL)
!>(不大于)(Transact-SQL)
<=(小于或等于)(Transact-SQL)
WHERE (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助