本文概述
SQL Server LIKE条件或运算符用于执行模式匹配。它与WHERE子句以及SELECT, INSERT, UPDATE和DELETE语句一起使用。
句法:
expression LIKE pattern [ ESCAPE 'escape_character' ]
参数说明
expression:它是一个字符表达式, 例如列或字段。
pattern:这是一个包含模式匹配的字符表达式。
以下是与LIKE运算符一起使用的模式的列表:
Wildcard | Explanation |
---|---|
% | 它用于匹配任何长度(包括零长度)的任何字符串。 |
_ | 它用于匹配单个字符。 |
[ ] | 它用于与[]括号中的任何字符匹配(例如[abc]将与a, b或c字符匹配) |
[^] | 它用于匹配不在[^]括号中的任何字符(例如, [^ abc]可以匹配非a, b或c字符的任何字符) |
使用%通配符(百分号通配符)的LIKE运算符
例:
你有一个名为”学生”的表, 其中包含以下数据:
让我们在SQL Server LIKE条件下使用%通配符。在这里, 我们从”学生”表中检索所有名称以” L”开头的学生。
SELECT *
FROM [srcmini].[dbo].[Student]
WHERE name LIKE 'L%';
输出
Or
SELECT *
FROM [srcmini].[dbo].[Student]
WHERE name LIKE '%L%';
使用[]通配符的LIKE运算符(方括号通配符)
让我们在SQL Server LIKE条件下使用[]通配符。
SELECT *
FROM [srcmini].[dbo].[Student]
WHERE name LIKE 'Aj[ie]et%';
注意:它将返回名称长度为5个字符的所有学生, 其中前两个字符为” Aj”, 后两个字符为” et”, 第三个字符为” i”或” e”。因此, 在这种情况下, 它将与” Ajiet”或” Ajeet”匹配。
输出
具有NOT运算符的类似条件
让我们从”学生”表中检索名称不是以” L”开头的所有学生。
SELECT *
FROM [srcmini].[dbo].[Student]
WHERE name NOT LIKE 'A%';
输出
评论前必须登录!
注册