SQL必知必会(5)———用通配符进行过滤
2021/10/5 2:11:12
本文主要是介绍SQL必知必会(5)———用通配符进行过滤,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 5.1 LIKE操作符
- 5.1.1 百分号(%)通配符
- 5.1.2 下划线(_)通配符
- 5.1.3 方括号([ ])通配符
- 5.2 小结
- 5.3 下节预告
5.1 LIKE操作符
LIKE
操作符用于在 WHERE
子句中搜索列中的指定搜索模式,请看下面实例:
SELECT * FROM Persons WHERE City LIKE 'N%'
'N%'
就是指定的搜索模式,具体含义请看下面的内容。
5.1.1 百分号(%)通配符
在搜索串中,%
表示任何字符出现任意次数。例如,为了找出所有以词Fish
起头的产品,可写以下的SELECT
语句:
SELECT prod_id,prod_name FROM Products WHERE prod_name LIKE 'Fish%';
输出如下:
prod_id prod_name --------------------------------- BNBG01 Fish bean bag toy
有的DBMS搜索时可能会区分大小写,如果区分大小写。那么
'fish%'
与Fish bean bag toy
就不匹配。
通配符可以在搜索模式的任意地方使用,并且可以使用多个通配符。
比如:
WHERE prod_name LIKE '%bean bag%';
WHERE prod_name LIKE 'F%y'
有的DBMS用空格填补字段的内容,例如,一列有50个字符,而存储的文本
Fish bean bag toy
(17个字符),则为填满该列需要在该文本后加33个空格。这样做对数据的一般使用没有影响,但是可能对上述SQL语句有影响。
比如
WHERE prod_name LIKE 'F%y'
,如果值后面跟了空格,Fish bean bag toy
就检索不出来,解决办法是:使用'F%y%'
。更好的解决办法是用函数去掉空格。函数的方法后续会讲到。
5.1.2 下划线(_)通配符
下划线通配符与百分号通配符用途一样,但它只匹配单个字符。
举一个例子:
SELECT prod_id,prod_name FROM Products WHERE prod_name LIKE '_ inch teddy bear';
输出如下:
prod_id prod_name ---------------------------------- BR02 12 inch teddy bear BR03 18 inch teddy bear
5.1.3 方括号([ ])通配符
方括号通配符用来指定一个字符集。它也只能匹配单个字符。
微软的SQL Server支持方括号通配符
[]
,但MySQL,Oracle,DB2等不支持。
举一个例子:
SELECT C_name FROM Table_C WHERE C_name LIKE '[JM]%' ORDER BY C_name;
输出如下:
C_name ------ Jack John Mike
[JM]
匹配方括号中任意一个字符,它只能匹配单个字符。
然后,%
通配符匹配第一个字符之后的任意数目的字符,返回所需结果。
此通配符可以用前缀字符^
(脱字号)来否定,例如:
SELECT C_name FROM Table_C WHERE C_name LIKE '[^JM]%' ORDER BY C_name;
它的功能就是匹配以J和M之外的任意字符起头的任意名字,当然,用NOT
操作符也能得出类似的结果。
5.2 小结
这一课讲了LIKE
操作符,以及% _
和[]
通配符,通配符应细心使用不要使用过度。
5.3 下节预告
下节课我们将一起学习如何创建计算字段。
这篇关于SQL必知必会(5)———用通配符进行过滤的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?