📜  SQL Server像运算符

📅  最后修改于: 2020-12-02 04:57:47             🧑  作者: Mango

SQL Server LIKE条件(运算符)

SQL Server LIKE条件或运算符用于执行模式匹配。它与WHERE子句以及SELECT,INSERT,UPDATE和DELETE语句一起使用。

句法:

expression LIKE pattern [ ESCAPE 'escape_character' ] 

参数说明

expression:这是一个字符表达式,例如列或字段。

pattern:这是一个包含模式匹配的字符表达式。

以下是LIKE运算符使用的模式列表:

Wildcard Explanation
% It is used to match any string of any length (including zero length).
_ It is used to match on a single character.
[ ] It is used to match on any character in the [ ] brackets (for example, [abc] would match on a, b, or c characters)
[^] It is used to match on any character not in the [^] brackets (for example, [^abc] would match on any character that is not a, b, or c characters)

使用%通配符(百分号通配符)的LIKE运算符

例:

您有一个名为“学生”的表,其中包含以下数据:

让我们在SQL Server LIKE条件下使用%通配符。在这里,我们从“学生”表中检索所有以“ L”开头的学生。

SELECT *
FROM [javatpoint].[dbo].[Student]
WHERE name LIKE 'L%'; 

输出:

要么

SELECT *
FROM [javatpoint].[dbo].[Student]
WHERE name LIKE '%L%'; 

使用[]通配符的LIKE运算符(方括号通配符)

让我们在SQL Server LIKE条件下使用[]通配符。

SELECT *
FROM [javatpoint].[dbo].[Student]
WHERE name LIKE 'Aj[ie]et%';

注意:它将返回名称长度为5个字符的所有学生,其中前两个字符为“ Aj”,后两个字符为“ et”,第三个字符为“ i”或“ e”。因此,在这种情况下,它将与“ Ajiet”或“ Ajeet”匹配。

输出:

具有NOT运算符的类似条件

让我们从“ Student”表中检索名称不是以“ L”开头的所有学生。

SELECT *
FROM [javatpoint].[dbo].[Student]
WHERE name NOT LIKE 'A%';

输出: