中文开发文档地址如下:http://shouce.jb51.net/postgresql/
现在我们模糊匹配一般是如下,拼接起来
SELECT t.id,t.name FROM table_name t where name like '%' || _i_name || '%'
等同
SELECT t.id,t.name FROM table_name t where name ~ _i_name
但是有时候我们name,有英文,上面sql是区分大小写的,查询不出来自己想要的,可以使用正则匹配,如下:
SELECT t.id,t.name FROM table_name t where name ~* _i_name
Table 9-11列出了所可用的POSIX 正则表达式的模式匹配操作符
Table 9-11. 正则表达式匹配操作符
操作符 描述 示例
~ 匹配正则表达式,区分大小写 'thomas' ~ '.*thomas.*'
~* 匹配正则表达式,不分大小写 'thomas' ~* '.*Thomas.*'
!~ 不匹配正则表达式,区分大小写 'thomas' !~ '.*Thomas.*'
!~* 不匹配正则表达式,不分大小写 'thomas' !~* '.*vadim.*'