比較運算子 (Database Engine)
比較運算子是用來處理字元、數值或日期資料,並且可以用於查詢的 WHERE 或 HAVING 子句。比較運算子求得布林資料類型,而且依照測試條件的結果而傳回 TRUE 或 FALSE。
例如,若要計算 1998 年 3 月 15 日 (含) 之前僱用員工的獎金,則計算員工的 hire_date 是否小於或等於 1998 年 3 月 15 日,即可求得要發放獎金的員工清單。
有效的比較運算子包括下列運算子:
- > (大於)
- < (小於)
- = (等於)
- <= (小於或等於)
- >= (大於或等於)
- != (不等於)
- <> (不等於)
- !< (不小於)
- !> (不大於)
比較運算子也可以用於程式邏輯來尋找條件。例如,如果國家/地區的值是英國而不是西班牙,則可能會套用不同的運費。在這種情況下,比較運算子、運算式 (資料行名稱)、常值 ('UK'),以及流程控制程式的關鍵字 (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 字串' |
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)