postgresql提供有強大的正則表達式系統,可以在數據庫級別實現模糊查詢。
正則表達式匹配操作符:
操作符 | 描述 | 例子 |
---|---|---|
~ | 匹配正則表達式,大小寫相關 | 'thomas' ~ '.*thomas.*' |
~* | 匹配正則表達式,大小寫無關 | 'thomas' ~* '.*Thomas.*' |
!~ | 不匹配正則表達式,大小寫相關 | 'thomas' !~ '.*Thomas.*' |
!~* | 不匹配正則表達式,大小寫無關 | 'thomas' !~* '.*vadim.*' |
例如:
找出數據表account中所有用戶名包含baidu且不區分大小寫的用戶的信息。
select * from account where username ~* 'baidu';
使用正則表達式之后可以實現不區分大小寫的功能,並且大大減少了sql語句的長度。