通配符是用来匹配值的一部分的特殊字符,实际是SQL中的WHERE子句中有特殊含义的字符。
SELECT prod_id
FROM products
WHERE product_id LIKE 'AC%'
找出所有ID以AC开头的产品,%表示任意字符出现任意次数。
相当于你告诉SQL,帮我找到“AC+!@#¥%……” !
“@#¥%”可以是任何东西。
同理:
WHERE prod_id LIKE '%AC%',代表AC可以出现在任何位置,只要出现了AC就匹配。
WHERE prod_id LIKE 'A%C', 代表匹配以A开头,以C结尾的ID
_和%很相似,但是_只匹配单个字符,而%匹配任意个数的字符。
WHERE prod_id LIKE '_AC'
WHERE prod_id LIKE '__AC'
第一句用了一个下划线,第二个用了2个下划线。想想区别是什么?
答案: AC前只出现一个字符和出现两个字符的区别
通配符:[ ](方括号)
[ ]用于指定字符集,必须匹配指定位置的一个字符
WHERE prod_id LIKE '[AC]%'
匹配A或者C(方括号中的任一字符)开头的ID
WHERE prod_id LIKE '[^AC]%'
^是脱字符,代表匹配A和C(方括号中的任一字符)以外的字母开头的ID。(既不能是A,也不能是C)
注意事项:
通配符搜索往往要更加长的处理时间,不要滥用。此外,通配符的使用位置会对搜索结果造成影响,因此需要注意。