适用于: Databricks SQL
 Databricks SQL  Databricks Runtime
 Databricks Runtime
如果 str 与具有 pattern 的 escape 匹配,则返回 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 SQL Databricks Runtime Databricks Runtime- 如果指定了 - ALL,则如果- like匹配所有模式,则- true返回- str,否则如果匹配至少一个模式,则返回- true。
返回
一个 BOOLEAN。
pattern 是在字面上匹配的字符串,但以下特殊符号例外:
- 
              _匹配输入中的任意一个字符(类似于 POSIX 正则表达式中的.)
- 
              %匹配输入中的零个或零个以上的字符(类似于 POSIX 正则表达式中的.*)。
默认转义字符为 '\'。
如果转义字符的之前带有特殊符号或其他转义字符,则在字面上匹配后面的字符。
转义其他任何字符的操作无效。
使用文本时,请使用 raw-literal(r 前缀),以避免转义字符预处理。
              str NOT like ... 等效于 NOT(str like ...)。
根据 SQL 标准的定义, LIKE 始终对尾随空格敏感,即便排序规则对尾随空格不敏感。
对于非 null str:str LIKE str || ' ' 始终为 false。
              适用于: Databricks SQL
 Databricks SQL  Databricks Runtime 17.2 及更高版本
 Databricks Runtime 17.2 及更高版本
以下排序规则受LIKE支持:
- UTF8_BINARY
- UTF8_BINARY_RTRIM
- UTF8_LCASE
- UTF8_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