MySQL CASE语句和REGEXP

时间:2011-01-21 04:23:32

标签: mysql regex case

我想使用一个使用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

我希望'不酷'和'非常酷'成为正则表达式。希望足够清楚。

2 个答案:

答案 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'