我正在使用Concat更新数据库中的字段,如下所示
`fieldName`=concat( `FieldName`, ',NEW DATA')
在某些情况下,我尝试在字段中创建逗号分隔列表,例如
item 1, item 2, item 3
但除非我事先知道该字段是否为空,否则如果这是该字段中的第一个条目,则无法避免使用前置或尾随逗号。
,item 1, item 2...etc
或
item 1, item 2, ... etc
有没有办法在Update语句中确定字段是否有内容之前,以避免单独查询数据库?
...或制作逗号分隔列表的更好方法!
答案 0 :(得分:1)
是的,请使用case
这样的表达式:
update tableName
set columnName =
case when LENGTH(columnName) > 1
then select concat(columnName, ',NEW DATA')
else select 'NEW DATA' end
如果columnName的长度大于1,则columName中有数据,因此您可以输入逗号,否则只放置新数据。