T-SQL LIKE子句 模糊查询

2021-07-03 09:55 更新

MS SQL Server LIKE子句用于使用通配符运算符将值与类似值进行比较。 有两个通配符与LIKE运算符结合使用:

  • 百分号(%)
  • 下划线(_)

百分号表示零个,一个或多个字符。 下划线表示单个数字或字符。 符号可以组合使用。

语法

以下是 '%' 和 '_' 的基本语法。

SELECT *\column-list FROM table_name 
WHERE column LIKE 'XXXX%' 
 
or   

SELECT *\column-list FROM table_name 
WHERE column LIKE '%XXXX%'  

or  

SELECT *\column-list FROM table_name 
WHERE column LIKE 'XXXX_'  

or  

SELECT *\column-list FROM table_name 
WHERE column LIKE '_XXXX'  

or  

SELECT  *\column-list FROM table_name 
WHERE column LIKE '_XXXX_' 

您可以使用AND或OR运算符组合N个条件。 XXXX可以是任何数字或字符串值。

以下是一些示例,显示具有带有'%'和'_'运算符的不同LIKE子句的WHERE部分。

Sr.No声明和说明
1

WHERE SALARY LIKE'200%'

查找以200开头的所有值

2

WHERE SALARY LIKE'%200%'

查找在任何位置有存在200的所有值

3

WHERE SALARY LIKE'%_00'

查找在第二和第三位置中具有00的所有值

4

WHERE SALARY LIKE'2 _%_%'

查找以2开头且长度至少为3个字符的所有值

WHERE SALARY LIKE'%2'

查找以2结尾的所有值

6

WHERE SALARY LIKE'%_2 3'

查找在第二个位置有2,并以3结束的所有值

7

WHERE SALARY LIKE'2___3'

查找以2开头并以3结尾的五位数字中的任何值

请参考具有以下记录的CUSTOMERS表:

ID  NAME       AGE       ADDRESS            SALARY 
1   Ramesh     32        Ahmedabad          2000.00 
2   Khilan     25        Delhi              1500.00 
3   kaushik    23        Kota               2000.00 
4   Chaitali   25        Mumbai             6500.00 
5   Hardik     27        Bhopal             8500.00 
6   Komal      22        MP                 4500.00 
7   Muffy      24        Indore             10000.00 

下面的例子,是查询CUSTOMERS表中,SALARY以200开头的所有用户。

SELECT * FROM CUSTOMERS 
WHERE SALARY LIKE '200%'; 

上述命令将产生以下结果集:

ID   NAME     AGE     ADDRESS       SALARY 
1    Ramesh   32      Ahmedabad     2000.00 
3    kaushik  23      Kota          2000.00

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号