我有一个返回以下值的 SQL 查询:
BC - Worces
BC Bristol
BC Central
BC Torquay
BC-Bath
BC-Exeter
BC-Payroll
所以,我们有一些 BC 只有一个空格,一些带有破折号,一些带有破折号,两边都有空格。返回这些值时,我想将这些 BC 变体替换为“业务连续性:”,后跟巴斯或埃克塞特等。
有没有办法检查返回的值并(我假设在单独的列中)返回基于它的字段?如果每次迭代都相同,我可以只使用 Trim,但正是这种变化让我失望了。
最佳答案
您可以在选择上使用案例
CASE WHEN Left(`colname`, 5) = 'BC - ' THEN CONCAT('Business Continuity: ', SUBSTRING(`colname`, 6))
WHEN Left(colname, 3) = 'BC ' THEN CONCAT('Business Continuity: ', SUBSTRING(`colname`, 4))
WHEN Left(`colname`, 3) = 'BC-' THEN CONCAT('Business Continuity: ', SUBSTRING(`colname`, 4))
ELSE `colname`
END as `colname`
关于mysql - 检查 MySQL 中的子字符串并返回基于它的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35407658/