首页 > 解决方案 > 如何用第二列值替换星号

问题描述

1)我们可以在sql的select语句中使用if条件吗 2)在存储过程中我需要满足以下条件a)我有来自不同表的两列需要合并,如果第1列中存在特殊字符,星号应替换为第二列值 b) 如果没有星号则正常合​​并列

Column 1
---------
UAT 
ST*
UAT*S
UT

Column 2
---------
12
10
9
6

我想要结果为

UAT12
ST10
UAT9s
UT6

标签: mysql

解决方案


这将起作用:

1)使用IF

SELECT 
IF(column1 LIKE '%*%', REPLACE(column1, '*', column2), CONCAT(column1, column2))
FROM tableName

2)使用CASE

SELECT 
CASE WHEN column1 LIKE '%*%' 
    THEN REPLACE(column1, '*', column2)
    ELSE CONCAT(column1, column2)
END 
FROM tableName

推荐阅读