如何用第二列值替换星号

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里如何用表格实现两行两列、第一行的第二列和第二行的第二列是合并的。也就说浏览器里看到的效果是

如何根据 Python、R 中不同数据框/患者之间的第一列元素/基因取第二列值/计数的平均值?

如何用星号分割值并使用正则表达式获取第一个数字[关闭]

用星号javascript/jquery替换数字?