模式比對條件 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

模式比對條件

模式比對運算子會依據條件表達式中所指定的模式,來搜尋字串,並根據是否找到符合的結果,傳回 true 或 false。Amazon Redshift 使用三種方法進行模式比對:

  • LIKE 表達式

    LIKE 運算子會比較字串表達式,例如資料欄名稱,以及使用萬用字元 %(百分比) 和 _(底線) 的模式。LIKE 模式比對一律會涵蓋整個字串。LIKE 會執行區分大小寫的比對,並ILIKE執行區分大小寫的比對。

  • SIMILAR TO 規則運算式

    SIMILAR TO 運算子會將字串表達式與SQL標準規則表達式模式進行比對,其中可以包含一組模式比對中繼符,其中包含LIKE運算子支援的兩個中繼符。SIMILAR TO 會比對整個字串,並執行區分大小寫的比對。

  • POSIX樣式規則運算式

    POSIX 規則運算式提供比 LIKE和 SIMILAR TO 運算子更強大的模式比對方法。POSIX 規則表達式模式可以比對字串的任何部分,並執行區分大小寫的比對。

使用 SIMILAR TO 或POSIX運算子進行規則運算式比對,運算成本高昂。我們建議您LIKE盡可能使用 ,特別是在處理大量資料列時。例如,下列查詢的功能相同,但使用 的查詢LIKE執行速度比使用規則運算式的查詢快上數倍:

select count(*) from event where eventname SIMILAR TO '%(Ring|Die)%'; select count(*) from event where eventname LIKE '%Ring%' OR eventname LIKE '%Die%';