如何用第二列值替换星号
Posted
技术标签:
【中文标题】如何用第二列值替换星号【英文标题】:How to replace asterisk with second column value 【发布时间】:2018-08-21 03:53:26 【问题描述】: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
【问题讨论】:
现身,你试过了。 【参考方案1】:这会起作用:
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
【讨论】:
感谢您的回复先生,只是想知道如果两列来自不同的表怎么办,所以我们不能使用 from tablename.. 但是如何将列修改为 **.Column 如果没有关系,JOIN 将无济于事 而且 iif 不是 mysql 构造以上是关于如何用第二列值替换星号的主要内容,如果未能解决你的问题,请参考以下文章
如何用 Oracle 中应用 Lead() 函数的同一列值替换最后一行中的 NULL?
html里如何用表格实现两行两列、第一行的第二列和第二行的第二列是合并的。也就说浏览器里看到的效果是