我写这个sql用于连接两个表。是否有一些正则表达式忽略所有以@info.com
结尾的电子邮件。我不想在执行查询后打印它们。
SELECT user_data.alternative_mail
FROM user_data
RIGHT OUTER 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
答案 0 :(得分:3)
您可以使用like。
直接进行字符串操作e.g。
SELECT user_data.alternative_mail
FROM user_data
RIGHT OUTER 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 '%@info.com'
答案 1 :(得分:1)
如果我理解正确,您可以使用REPLACE功能:
SELECT replace(user_data.alternative_mail,'@info.com','')
FROM user_data
RIGHT OUTER 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
或者如果您想从结果中过滤它们,您应该使用:
SELECT user_data.alternative_mail
FROM user_data
RIGHT OUTER 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 '%@info.com'