比較運算子

用來比較 運算式

語法

結果 = expression1comparisonoperatorexpression2result = object1Isobject2result = stringLikepattern

比較運算子 具有下列部分:

部分 描述
result 必要;任何數值的變數
expression 必要;任何運算式。
comparisonoperator 必填;任何比較運算子。
object 必填;任何物件名稱。
string 必填;任何 字串運算式
模式 必填;任何字串運算式或字元範圍。

註解

下表包含比較運算子的清單,以及判斷 結果TrueFalseNull的條件。

運算子 True 是表示 如果 False 表示 如果為 Null,
< (小於) expression1<expression2 expression1>= expression2 expression1expression2 = Null
<= (小於或等於) expression1<= expression2 expression1>expression2 expression1expression2 = Null
> (大於) expression1>expression2 expression1<= expression2 expression1expression2 = Null
>= (大於或等於) expression1>= expression2 expression1<expression2 expression1expression2 = Null
= (等於) expression1 = expression2 expression1<>expression2 expression1expression2 = Null
<> (不等於) expression1<>expression2 expression1 = expression2 expression1expression2 = Null

注意事項

IsLike運算子具有與資料表中運算子不同的特定比較功能。

比較兩個運算式時,您可能無法輕鬆地判斷運算式是以數位或字串來比較。 下表顯示當其中一個運算式不是 Variant時,如何比較運算式或結果。

If Then
這兩個運算式都是 byte、BooleanIntegerLongSingleDoubleDateCurrencyDecimal (數值資料類型) 執行數值比較。
這兩個運算式都是 String 執行 字串比較
其中一個運算式是數值資料類型,另一個運算式是數位或可以是數位的Variant 執行數值比較。
一個運算式是數值資料類型,另一個則是無法轉換成數位的字串Variant 發生 Type Mismatch 錯誤。
其中一個運算式是String,另一個則是Null以外的任何Variant 執行字串比較。
其中一個運算式為 空白 ,另一個則是數值資料類型 執行數值比較,使用 0 做為 空白 運算式。
其中一個運算式為 空白 ,另一個則是 String 執行字串比較,使用零長度字串 (「」) 做為 空白 運算式。

如果 expression1expression2 都是 Variant 運算式,則其基礎類型會決定它們的比較方式。 下表顯示如何根據 Variant的基礎類型來比較運算式或比較的結果。

If Then
這兩 個 Variant 運算式都是數值 執行數值比較。
這兩 個 Variant 運算式都是字串 執行字串比較。
一個 Variant 運算式是數值,另一個是字串 數值運算式小於字串運算式。
一個 Variant 運算式為 Empty ,另一個是數值 執行數值比較,使用 0 做為 空白 運算式。
一個 Variant 運算式為 Empty ,另一個是字串 執行字串比較,使用零長度字串 (「」) 做為 空白 運算式。
這兩個 Variant運算式都是 運算式相等。

SingleDouble比較時, Double 會四捨五入為 Single的有效位數。 如果貨幣與 Single 或Double比較,SingleDouble會轉換成貨幣

同樣地,當 小數點SingleDouble比較時, SingleDouble 會轉換成 十進位。 針對 Currency,任何小於 .0001 的小數值都可能會遺失;針對 Decimal,任何小於 1E-28 的小數值可能會遺失,或可能發生溢位錯誤。 當兩個值不相等時,這類小數值遺失可能會導致兩個值比較為相等。

範例

此範例示範比較運算子的各種用法,您可以使用這些運算子來比較運算式。

Dim MyResult, Var1, Var2
MyResult = (45 < 35)    ' Returns False.
MyResult = (45 = 45)    ' Returns True.
MyResult = (4 <> 3)    ' Returns True.
MyResult = ("5" > "4")    ' Returns True.

Var1 = "5": Var2 = 4    ' Initialize variables.
MyResult = (Var1 > Var2)    ' Returns True.

Var1 = 5: Var2 = Empty
MyResult = (Var1 > Var2)    ' Returns True.

Var1 = 0: Var2 = Empty
MyResult = (Var1 = Var2)    ' Returns True.

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應