mysql - 如果不为空,如何通过插入文本和其他列中的值的组合来更新 mysql 表中的列?

标签 mysql sql

我有一个包含 3 列的表,这些列的值可以为空。我必须创建第 4 列并仅连接那些不为空的列的值。 预期输出:

col1   col2   col3   col4
----------------------------------------------------
1       0      1     col1=True;col2=False;col3=True;
0      Null    1     col1=False;col3=True

最佳答案

使用concat_ws():

select concat_ws(';',
                 concat('col1=', elt(col1 + 1, 'false', 'true')),
                 concat('col2=', elt(col2 + 1, 'false', 'true')),
                 concat('col3=', elt(col3 + 1, 'false', 'true'))
                )
from t;

关于mysql - 如果不为空,如何通过插入文本和其他列中的值的组合来更新 mysql 表中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47752209/

相关文章:

PHP- 从 URL 强制下载文件

mysql - 根据不同用户账户更新MySQL全局变量?

sql - 在 DB2 数据库中创建存储过程时出错

java - 这个 SQL 命令有什么问题?

MySQL查询行/列差异

php - 使用使用 $key => $value 对的 for 循环插入多行

mysql - 纠正数据库最新标志中的错误数据

c# - 如何使用原始文件名作为有效的 Url 发布存储在 SQL 中的文档?

sql - 尝试在 SQL 中从另一个表更新一个表 - 返回 "more than one value"错误

sql - 选择所有行,但在新列中显示表格中的最大值