我想使用一个使用REGEXP的CASE语句。目前我正在做这样的事情:
SELECT NAME,
CASE INFO
WHEN 'not cool' THEN 'Not Cool'
WHEN 'very cool' THEN 'Cool'
ELSE INFO
END AS INFO
FROM INFO_TABLE
有没有办法在初始语句中使用REGEXP来使条件充当REGEXP?从理论上讲,这就是我想要的,但这不起作用:
SELECT NAME,
CASE INFO REGEXP
WHEN 'not cool' THEN 'Not Cool'
WHEN 'very cool' THEN 'Cool'
ELSE INFO
END AS INFO
FROM INFO_TABLE
我希望'不酷'和'非常酷'成为正则表达式。希望足够清楚。
答案 0 :(得分:18)
试试这个
select name,
case
when info regexp 'not cool' then 'Not Cool'
when info regexp 'very cool' then 'Cool'
else
info
end
as info
from INFO_TABLE;
答案 1 :(得分:0)
我不知道是否有正则表达式,但有一些wilcards可以与LIKE一起使用。
通配符%为您提供任意数量的字符。通配符_为您提供任何单个字符。
示例:
SELECT email FROM people WHERE email LIKE '%harvard.edu'