MySQL中的CASE语句中的REGEXP

时间:2013-11-07 16:43:06

标签: mysql sql regex

SELECT title,
CASE WHEN title REGEXP '[0-9]' THEN CONCAT(sid,'X',gid,'X',parent_qid,'#',title)
ELSE CONCAT( sid, 'X', gid, 'X',parent_qid ,title) END AS survey_title
FROM `lime_questions`
WHERE question like '%Vision%'

任何人都可以纠正我如果我的上述案件陈述错了。我的意图是当我的表中的标题只有Numeric然后我想连接,如我的查询中所示。但是当我的正则表达式不匹配时,我的sql代码并没有连接起来。请纠正我。

Result Set:

title    survey_title
8      21712X102X4180#8
MM08   83628X37X1742#MM08

Expected Output:

title    survey_title
8      21712X102X4180#8
MM08   83628X37X1742MM08

1 个答案:

答案 0 :(得分:0)

SELECT title,
CASE WHEN title REGEXP 'ˆ[0-9]+$' THEN CONCAT(sid,'X',gid,'X',parent_qid,'#',title)
ELSE CONCAT( sid, 'X', gid, 'X',parent_qid ,title) END AS survey_title
FROM `lime_questions`
WHERE question like '%Vision%'