適用於:
Databricks SQL
Databricks Runtime
如果true與str相符,則傳回pattern並使用escape。
語法
str [ NOT ] like ( pattern [ ESCAPE escape ] )
str [ NOT ] like { ANY | SOME | ALL } ( [ pattern [, ...] ] )
引數
str:一個STRING表達式。pattern:一個STRING表達式。escape:單一字元STRING文字。ANY或SOMEALL:適用於:
Databricks SQL
Databricks Runtime如果
ALL指定 ,則會liketrue傳回str符合所有模式,否則會傳回true至少符合一個模式。
傳回
BOOLEAN。
模式是常值相符的字串,但下列特殊符號除外:
-
_比對輸入中的任何一個字元(類似於.POSIX 正則表示式中) -
%比對輸入中的零或多個字元(類似於.*POSIX正則表示式)。
預設逸出字元為 '\'。
如果特殊符號或另一個逸出字元前面有逸出字元,就會逐字比對下列字元。
逸出任何其他字元無效。
使用常值時,請使用 raw-literal (r prefix) 以避免逸出字元前置處理。
str NOT like ... 等於 NOT(str like ...)。
根據 SQL 標準的定義,LIKE 始終會對尾端空格敏感,即使排序不區分尾端空格也是如此。
對於非空值 str: str LIKE str || ' ' 一律為 false。
適用於:
Databricks SQL
Databricks Runtime 17.2 或更高版本
以下排序由 LIKE 支援:
UTF8_BINARYUTF8_BINARY_RTRIMUTF8_LCASEUTF8_LCASE_RTRIM
對於其他定序,請使用 contains、 startswith或 ends_with。
範例
> 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
-- like is always trailing blank sensitive
> SELECT 'Spark' COLLATE UTF8_BINARY_RTRIM like 'Spark ';
false