SQL 正则表达式匹配:'街道$' 与 '[街道]$' 的区别及汀溪水库案例分析
SQL 正则表达式匹配:'街道$' 与 '[街道]$' 的区别及汀溪水库案例分析
select name from jdxx where cs = '厦门市' and qxmc = '同安区' and name regexp '街道$'; 与 select name from jdxx where cs = '厦门市' and qxmc = '同安区' and name regexp '[街道]$'; 的区别在于正则表达式中 '街道$' 和 '[街道]$' 的匹配规则不同。
- 使用
'街道$'只会检索出名称以'街道'结尾的记录。 - 使用
'[街道]$'会检索出名称最后一个字符是'街'或'道'的记录,因为方括号表示匹配其中任意一个字符。
汀溪水库案例分析
使用 select name from jdxx where cs = '厦门市' and qxmc = '同安区' and name regexp '[街道]$'; 会检索出汀溪水库,可能是因为汀溪水库的名称中包含'道'这个字符,例如'汀溪水库管理所'。
总结
在使用 SQL 正则表达式进行匹配时,需要注意方括号的作用,它可以匹配方括号内任意一个字符。因此,需要根据实际需求选择合适的正则表达式。
原文地址: https://www.cveoy.top/t/topic/ojjc 著作权归作者所有。请勿转载和采集!