比較運算子 (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 字串'

一般的 ISO 字串比較。

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)

一般的 ISO 字串比較。

N'' (位於括號中的 Unicode 空白字串)

空白字串。

'' (非 Unicode 空白字串)

空白字串或包含一個空白字元的字串,視 ISO 設定而定。