like
算子
適用於: Databricks SQL Databricks Runtime
如果 str
與 escape
與 pattern
的組合相符,則傳回 true。
語法
str [ NOT ] like ( pattern [ ESCAPE escape ] )
str [ NOT ] like { ANY | SOME | ALL } ( [ pattern [, ...] ] )
引數
str
:STRING 表達式。pattern
:STRING 表達式。escape
:單一字元 STRING 常值。ANY
或SOME
ALL
:適用於: Databricks SQL Databricks Runtime
如果
ALL
指定 ,則會like
str
傳回true
符合所有模式,否則會傳回true
至少符合一個模式。
傳回
BOOLEAN
。
模式是常值相符的字串,但下列特殊符號除外:
_
比對輸入中的任何一個字元(類似於.
POSIX 正則表示式中)%
比對輸入中的零或多個字元(類似於.*
POSIX正則表示式)。
預設逸出字元為 '\'
。
如果特殊符號或另一個逸出字元前面有逸出字元,就會逐字比對下列字元。
逸出任何其他字元無效。
使用常值時,請使用 raw-literal
(r
prefix) 以避免逸出字元前置處理。
str NOT like ...
等於 NOT(str like ...)
。
範例
> SELECT like('Spark', '_park');
true
> SELECT r'%SystemDrive%\Users\John' like r'%SystemDrive%\\Users%';
true
-- When not using raw literals, the escape character must be escaped.
> SELECT r'%SystemDrive%\Users\John' like '%SystemDrive%\\\\Users%';
true
> SELECT '%SystemDrive%/Users/John' like '/%SystemDrive/%//Users%' ESCAPE '/';
true
> SELECT like('Spock', '_park');
false
> SELECT 'Spark' like SOME ('_park', '_ock')
true
> SELECT 'Spark' like ALL ('_park', '_ock')
false