比較運算子
用來比較 表達式。
語法
結果 = expression1comparisonoperatorexpression2result = object1Isobject2result = stringLikepattern
比較運算子 具有下列部分:
部分 | 描述 |
---|---|
result | 必要;任何數值的變數。 |
expression | 必要;任何運算式。 |
comparisonoperator | 必填;任何比較運算符。 |
object | 必填;任何物件名稱。 |
string | 必填;任何 字串表達式。 |
模式 | 必填;任何字串表示式或字元範圍。 |
註解
下表包含比較運算符的清單,以及判斷 結果 為 True、 False 或 Null 的條件。
運算子 | True 是表示 如果 | False 表示 | 如果為 Null, |
---|---|---|---|
< (小於) |
expression1<expression2 | expression1>= expression2 | expression1 或 expression2 = Null |
<= (小於或等於) |
expression1<= expression2 | expression1>expression2 | expression1 或 expression2 = Null |
> (大於) |
expression1>expression2 | expression1<= expression2 | expression1 或 expression2 = Null |
>= (大於或等於) |
expression1>= expression2 | expression1<expression2 | expression1 或 expression2 = Null |
= (等於) |
expression1 = expression2 | expression1<>expression2 | expression1 或 expression2 = Null |
<> (不等於) |
expression1<>expression2 | expression1 = expression2 | expression1 或 expression2 = Null |
注意事項
Is 和 Like 運算元具有與數據表中運算子不同的特定比較功能。
比較兩個運算式時,您可能無法輕鬆地判斷表示式是以數位或字串來比較。 下表顯示當其中一個表達式不是 Variant 時,如何比較表達式或結果。
If | Then |
---|---|
這兩個表達式都是 byte、Boolean、Integer、Long、Single、Double、Date、Currency 或 Decimal (數值數據類型) | 執行數值比較。 |
這兩個表達式都是 String | 執行 字串比較。 |
其中一個表達式是數值數據類型,另一個運算式是數位或可以是數位的 Variant | 執行數值比較。 |
一個表達式是數值數據類型,另一個則是無法轉換成數位的字串 Variant | 發生 Type Mismatch 錯誤。 |
其中一個表達式是 String,另一個則是 Null 以外的任何 Variant | 執行字串比較。 |
其中一個表達式為 空白 ,另一個則是數值數據類型 | 執行數值比較,使用0做為 空白 運算式。 |
其中一個表達式為 空白 ,另一個則是 String | 執行字串比較,使用零長度字串 (“”) 做為 空白 表達式。 |
如果 expression1 和 expression2 都是 Variant 運算式,則其基礎類型會決定它們的比較方式。 下表顯示如何根據 Variant 的基礎類型來比較表示式或比較的結果。
If | Then |
---|---|
這兩 個 Variant 運算式都是數值 | 執行數值比較。 |
這兩 個 Variant 運算式都是字串 | 執行字串比較。 |
一個 Variant 運算式是數值,另一個是字串 | 數值表達式小於字串表達式。 |
一個 Variant 運算式為 Empty ,另一個是數值 | 執行數值比較,使用0做為 空白 運算式。 |
一個 Variant 運算式為 Empty ,另一個是字串 | 執行字串比較,使用零長度字串 (“”) 做為 空白 表達式。 |
這兩個 Variant 運算式都是空的 | 表達式相等。 |
當 Single 與 Double 比較時, Double 會四捨五入為 Single 的有效位數。 如果貨幣與 Single 或 Double 比較,則Single 或 Double 會轉換成貨幣。
同樣地,當 小數點 與 Single 或 Double 比較時, Single 或 Double 會轉換成 十進位。 針對 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 支援與意見反應。