選項比較二進位制文字資料庫

選項比較二進位制

二進位制比較使得對模組/類內的字串相等性的所有檢查都區分大小寫。從技術上講,使用此選項,使用每個字元的二進位制表示的排序順序執行字串比較。

A <B <E <Z <a <b <e <z

如果模組中未指定選項比較,則預設使用二進位制。

Option Compare Binary

Sub CompareBinary()

    Dim foo As String
    Dim bar As String
    
    '// Case sensitive
    foo = "abc"
    bar = "ABC"
    
    Debug.Print (foo = bar) '// Prints "False"
    
    '// Still differentiates accented characters
    foo = "ábc"
    bar = "abc"
    
    Debug.Print (foo = bar) '// Prints "False"
    
    '// "b" (Chr 98) is greater than "a" (Chr 97)
    foo = "a"
    bar = "b"
    
    Debug.Print (bar > foo) '// Prints "True"
    
    '// "b" (Chr 98) is NOT greater than "á" (Chr 225)
    foo = "á"
    bar = "b"
    
    Debug.Print (bar > foo) '// Prints "False"

End Sub

選項比較文字

選項比較文字使模組/類中的所有字串比較使用不區分大小寫的比較。

(A | a)<(B | b)<(Z | z)

Option Compare Text

Sub CompareText()

    Dim foo As String
    Dim bar As String
    
    '// Case insensitivity
    foo = "abc"
    bar = "ABC"
    
    Debug.Print (foo = bar) '// Prints "True"
    
    '// Still differentiates accented characters
    foo = "ábc"
    bar = "abc"
    
    Debug.Print (foo = bar) '// Prints "False"
    
    '// "b" still comes after "a" or "á"
    foo = "á"
    bar = "b"
    
    Debug.Print (bar > foo) '// Prints "True"

End Sub

選項比較資料庫

選項比較資料庫僅在 MS Access 中可用。它將模組/類設定為使用當前資料庫設定來確定是使用文字還是二進位制模式。

注意:不建議使用此設定,除非該模組用於編寫自定義 Access UDF(使用者定義的函式),它應該以與該資料庫中的 SQL 查詢相同的方式處理文字比較。