postgresql提供有强大的正则表达式系统,可以在数据库级别实现模糊查询。
正则表达式匹配操作符:
操作符 | 描述 | 例子 |
---|---|---|
~@H_502_33@ | 匹配正则表达式,大小写相关@H_502_33@ | 'thomas' ~ '.*thomas.*'@H_502_33@ |
~*@H_502_33@ | 匹配正则表达式,大小写无关@H_502_33@ | 'thomas' ~* '.*Thomas.*'@H_502_33@ |
!~@H_502_33@ | 不匹配正则表达式,大小写相关@H_502_33@ | 'thomas' !~ '.*Thomas.*'@H_502_33@ |
!~*@H_502_33@ | 不匹配正则表达式,大小写无关@H_502_33@ | 'thomas' !~* '.*vadim.*'@H_502_33@ |
例如:
找出数据表account中所有用户名包含baidu且不区分大小写的用户的信息。
select * from account where username ~* 'baidu';
使用正则表达式之后可以实现不区分大小写的功能,并且大大减少了sql语句的长度。
本文仅供自己研究学习使用,文章来源:http://blog.163.com/clevertanglei900@126/blog/static/1113522592010102215419516/,如有版权纠纷请联系我删除,email:adeng1943@126.com