POSTGRESQL 支持正则表达式

昨天遇到了一个奇葩的问题,需要在WHERE条件里面添加正则表达式,抱着试试看的态度,查看了一下postgresql,发现确实可以支持正则,例如:

select * from user where email ~ '^[A-H]' --匹配email地址以A-H开头的记录  
select * from user where email ~* '^[a-h]' --匹配email地址以A-H和a-h开头的记录  

或者:

SELECT CAST(sight_id AS INTEGER), CAST(source_id AS INTEGER) product_id, FROM tableName
WHERE sight_id ~ '^[1-9]' AND source_id ~ '^[1-9]'

至于正则该怎么写,我就不介绍了。有兴趣的同学可以查看posgre的资料:http://www.php100.com/manual/PostgreSQL8/

原文地址:https://www.cnblogs.com/liqiu/p/3835233.html