T-SQL LIKE 运算符

2024 年 8 月 28 日 | 3 分钟阅读

在 Transact-SQL 中,LIKE 运算符用于使用 WHERE 子句搜索列中指定的模式。Transact-SQL 中的 LIKE 子句用于比较相同的值,以使用通配符运算符。

两个通配符与 LIKE 运算符组合使用

  • % - 百分号代表零个、一个或多个字符。
  • _ - 下划线代表一个字符。

注意:MS Access 使用星号 (*) 代替百分号 (%),使用问号 (?) 代替下划线 (_)。

百分号在 LIKE 运算符中代表 '0'、'1' 或更多字符。下划线代表一个字符。

语法

根据 LIKE 运算符,% (百分号) 和 _ (下划线) 的基本语法。

编号。查询
1SELECT *\列列表 FROM 表名
WHERE 列 LIKE 'XXXX%.'
2SELECT *\列列表 FROM 表名
WHERE 列 LIKE '_XXXX.'
3SELECT *\列列表 FROM 表名
WHERE 列 LIKE '_XXXX_.'
4SELECT *\列列表 FROM 表名
WHERE 列 LIKE 'XXXX_.'
5SELECT *\列列表 FROM 表名
WHERE 列 LIKE '%XXXX%.'

我们使用 AND 或 OR 运算符绑定 LIKE 运算符的条件。 "XXXX" 是一个数字或字符串值。

示例

以下是一些示例,展示了包含不同的 LIKE 子句以及 '%' 和 '_' 运算符的 WHERE 部分。

序号语句和描述
1WHERE SALARY LIKE '300%.'
查找以 300 开头的任何值
2WHERE SALARY LIKE '%300%.'
查找在任何位置包含 300 的任何值
3WHERE SALARY LIKE '_000%.'
查找在第二、第三和第四个位置包含 000 的任何值
4WHERE SALARY LIKE '3_%_%.'
查找以 3 开头并且长度至少为 3 个字符的任何值
5WHERE SALARY LIKE '%4'
查找以 4 结尾的任何值
6WHERE SALARY LIKE '_3%4.'
查找在第二个位置包含 3 且以 4 结尾的任何值
7WHERE SALARY LIKE '3___4'
查找以 3 开头并以 4 结尾的五位数中的任何值

考虑包含以下记录的 CUSTOMERS 表。

ID姓名年龄地址工资
01威廉32卡拉奇7000.00
02艾弗里24伦敦3000.00
03Jackson34巴黎1200.00
04哈珀20纽约1500.00
05艾拉22伊斯兰堡3400.00
06蒙蒂23土耳其4400.00
07梅森26沙特阿拉伯5050.00

示例 1

该命令是一个示例,它将从 CUSTOMERS 表中显示所有 SALARY 以 200 开头的记录。

上述命令将产生以下输出。

ID姓名年龄地址工资
01威廉32卡拉奇7000.00

示例 2

以下命令是一个示例,它显示 CUSTOMERS 表中所有 SALARY 以 50 结尾的记录。

该命令给出以下输出。

ID姓名年龄地址工资
07梅森26沙特阿拉伯5050.00

示例 3

给定的命令是一个示例,它可以显示 CUSTOMERS 表中所有 SALARY 以 1 开头并以 0 结尾的记录。

上述命令给出以下输出。

ID姓名年龄地址工资
04哈珀20纽约1500.00

下一个主题T-SQL ORDER BY