mysql - 如何用第二列值替换星号
问题描述
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)使用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
推荐阅读
- c++ - std::filesystem / boost::filesystem for mac os
- mysql - Nodejs Expess 脚本无法创建 Mysql 数据库表
- python - 如何将字符串中的数字作为python中的单个元素提取到列表中?
- python - 区分^J和
在诅咒中 - android - 在Android应用程序(Kotlin)中按下按钮时尝试获取最后一个已知位置
- c# - 无法在 .Net 4.6.1 上安装 Dapper 2.0.4
- git - 用旧的 git commit 意外覆盖了本地代码。有什么办法恢复吗?
- vim - 搜索标签时是否可以在 ctags 中提供标签建议?
- python - 更改图形图像的比例
- jquery - Jquery .easing 错误 jQuery.easing[this.easing]