用于电子邮件打印的PostgreSQL正则表达式

时间:2016-03-08 15:53:10

标签: regex postgresql

我写了这个查询,但现在我想忽略abv之后有这个字符串@的所有电子邮件(都有大写或小写字母)。希望有人能提供帮助。

SELECT user_data.alternative_mail
FROM user_data
JOIN users_map
  ON users_map.user_id = user_data.user_id
WHERE users_map.service_id = 1 
  AND users_map.service_user_id = 0 
  AND user_data.alternative_mail NOT LIKE '%@abv.bg'
  AND user_data.alternative_mail IS NOT NULL 
  AND user_data.alternative_mail <> '';

2 个答案:

答案 0 :(得分:1)

使用ILIKE代替LIKEPostgreSQL Documentation),根据活动区域设置使匹配不区分大小写。

BTW:LIKE不使用正则表达式

答案 1 :(得分:0)

试试这个:

SELECT user_data.alternative_mail
FROM user_data
JOIN users_map
  ON users_map.user_id = user_data.user_id
WHERE users_map.service_id = 1 
  AND users_map.service_user_id = 0 
  AND user_data.alternative_mail NOT ILIKE '%@%abv%'
  AND user_data.alternative_mail IS NOT NULL 
  AND user_data.alternative_mail <> '';