我想返回包含电子邮件地址(... LIKE '%@%.%')的所有列的列名。是否有一种方法可以在字段中搜索电子邮件而不进行彻底搜索?也就是说,只要在字段中找到一个电子邮件示例,就会搜索下一个,而不是查看它的所有值?这是为了更好地扩展到大型数据库。 在以下情况下,应返回“Foo”和“Email”,而不搜索其所有记录。
SELECT
CASE WHEN SUM(Foo LIKE '%@%.%') > 0 THEN 'YES' ELSE 'NO' END AS Foo,
CASE WHEN SUM(Bar LIKE '%@%.%') > 0 THEN 'YES' ELSE 'NO' END AS Bar,
CASE WHEN SUM(Email LIKE '%@%.%') > 0 THEN 'YES' ELSE 'NO' END AS Email,
CASE WHEN SUM(Name LIKE '%@%.%') > 0 THEN 'YES' ELSE 'NO' END AS Name
FROM yourTable;
1条答案
按热度按时间wgx48brx1#
您可以在此处使用条件聚合: