U-SQL 提供
LIKE
T-SQL 中熟悉
的 和
NOT LIKE
比较运算符,用于检查
字符串
值是否与简单模式匹配。 模式可以包含常规字符和通配符。 在模式匹配期间,常规字符必须与
字符串
中指定的字符完全匹配。 但是,通配符可以与
字符串
的任意片段匹配。 请注意,比较是使用 UTF-8 字节级比较的区域性固定
字符串
比较完成的。
LIKE_Expression :=
string_expression
['
NOT
'] 'LIKE'
Pattern
[
'ESCAPE' char_expression
]。
Pattern :=
string_expression
.
string_expression
是创建要测试的字符串值的表达式。
Pattern
是一个字符串表达式,提供要测试的模式。 LIKE 中的模式可以包含以下有效的通配符。
指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。
WHERE lname LIKE '[C-P]arsen'
查找姓氏以 arsen 结尾且以 C 和 P 之间的任意单个字符开头的所有行,例如 Carsen、Larsen、Karsen 等。 在范围搜索中,范围中包含的字符由使用 UTF-8 字节排序的区域性固定排序顺序确定。
不在指定范围内的任何单个字符 ([^a-f]) 或设置
WHERE lname LIKE 'de[^l]%'
查找姓氏以 de 开头且以下字母不为 l 的所有行。
ESCAPE char_expression
可以选择性地指定 char 类型的非 null 值,该值可用于转义任何通配符。 它放在通配符前面,以指示通配符应解释为常规字符,而不是通配符。
可以使用
Azure Data Lake 工具插件
在 Visual Studio 中执行这些示例。
可以在
本地
执行脚本。 在本地执行时,不需要 Azure 订阅和 Azure Data Lake Analytics帐户。
@data =
SELECT * FROM
(VALUES
("Carsen", "Engineer"),
("Larsen", "engineer"),
("Karsen", "some%value"),
("Barbariol", "somevalue"),
("Barber", "some_value"),
("Olivia", "someXvalue")
) AS T(col1, col2);
// Change "LIKE" to "NOT LIKE" for NOT LIKE examples
@result =
SELECT * FROM @data
WHERE col1 LIKE "_arsen";
OUTPUT @result TO "/ReferenceGuide/Operators/Logical/Like1.txt" USING Outputters.Tsv();
@result =
SELECT * FROM @data
WHERE col1 LIKE "[C-K]arsen";
OUTPUT @result TO "/ReferenceGuide/Operators/Logical/Like2.txt" USING Outputters.Tsv();
@result =
SELECT * FROM @data
WHERE col1 LIKE "Barb%";
OUTPUT @result TO "/ReferenceGuide/Operators/Logical/Like3.txt" USING Outputters.Tsv();
@result =
SELECT * FROM @data
WHERE col2 LIKE "Engineer";
OUTPUT @result TO "/ReferenceGuide/Operators/Logical/Like4.txt" USING Outputters.Tsv();
@result =
SELECT * FROM @data
WHERE col2 LIKE "[eE]ngineer";
OUTPUT @result TO "/ReferenceGuide/Operators/Logical/Like5.txt" USING Outputters.Tsv();
@result =
SELECT * FROM @data
WHERE col2 LIKE "some%value";
OUTPUT @result TO "/ReferenceGuide/Operators/Logical/Like6.txt" USING Outputters.Tsv();
@result =
SELECT * FROM @data
WHERE col2 LIKE "some|%value" ESCAPE '|';
OUTPUT @result TO "/ReferenceGuide/Operators/Logical/Like7.txt" USING Outputters.Tsv();
@result =
SELECT * FROM @data
WHERE col2 LIKE "some_value";
OUTPUT @result TO "/ReferenceGuide/Operators/Logical/Like8.txt" USING Outputters.Tsv();
@result =
SELECT * FROM @data
WHERE col2 LIKE "some$_value" ESCAPE '$';
OUTPUT @result TO "/ReferenceGuide/Operators/Logical/Like9.txt" USING Outputters.Tsv();
U-SQL) (比较运算符
BETWEEN (U-SQL)
IN,NOT in (U-SQL)
C# 运算符