SQL谓词LIKE操作符及通配符百分号%,下划线_,中括号[]

  1. SQL要搜索一个表格中出现某个文本的行时,不能用简单的比较操作符,例如要找出所选列中包含“water”这个单词的行,就需要用到通配搜索模式,必须使用LIKE操作符。
  2. 从技术上说,LIKE不是一个操作符,而是一个谓词。
  3. LIKE只能用于文本字段(字符串)的通配符搜索。
  4. 通配符及其功能

百分号(%)通配符
表示找出任何字符出现任意次数

SELECT prod_id,prod_name
FROM Products
WHERE prod_name LIKE 'Fish%';

下划线(_)通配符
与%差不多,但是限制在一个字符。

SELECT prod_id, prod_name
FROM Products
WHERE product_name LIKE '__ inch teddy bear';

能够找出包含 inch teddy bear 的行,但是前面必须是两个字符的字符串,因为施加了两个下划线。_总是刚好匹配一个字符,不能多也不能少。
方括号([])通配符
用来制定一个字符集 ,必须匹配指定位置的一个字符。

SELECT cust_contact
FROM Customers
WHERE cust_contact LIKE '[JM]%'
ORDER BY cust_contact;

方括号智能匹配单个字符,[JM]表示匹配J,M中的任意一个字符,即在该例中,返回人名以J或M开始的行。
该通配符可以用^来否定。

SELECT cust_contact
FROM Customers
WHERE cust_contact LIKE '[^JM]%'
ORDER BY cust_contact;

表示返回名字不以J或M开头的人名所在行。
该条博客参考自《SQL必知必会》第五版。

猜你喜欢

转载自blog.csdn.net/qq_43511299/article/details/114093463