昨天遇到了一个奇葩的问题,需要在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/