如果col1
的值为lorem
或null
col2
-ipsum
或null
col3
-dolor
或null
col4
,则 lorem,ipsum,dolor
应该为null
。
例如,如果col2
是null
,则结果应为lorem,dolor
类似于-update table set col4 = concat(col1, col2, col3)
-但跳过空值
使用mysql是否可能?
答案 0 :(得分:1)
您可以使用CONCAT_WS
:
CONCAT_WS()不会跳过空字符串。但是,它会跳过分隔符参数之后的所有NULL值。
update table set col4 = concat_ws(',', col1, col2, col3);
为避免每次我建议使用generated column时都运行更新:
CREATE TABLE t(id INT, col1 TEXT, col2 TEXt, col3 TEXT,
col4 TEXT AS (concat_ws(',', col1, col2, col3))
)