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%'
如果我的上述案例陈述有误,有人可以纠正我吗?我的意图是,当我的表中的标题只有数字时,我想按照查询中所示进行连接。但是当我的正则表达式也不匹配时,我的 sql 代码没有像上面写的那样串联。请纠正我。
Result Set:
title survey_title
8 21712X102X4180#8
MM08 83628X37X1742#MM08
Expected Output:
title survey_title
8 21712X102X4180#8
MM08 83628X37X1742MM08
最佳答案
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%'
关于mysql - MySQL 中 CASE 语句中的 REGEXP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19841654/