如果列初始值为null,则将文本附加到PostgreSQL中的列数据。 它没有改变价值。
答案 0 :(得分:9)
目前还不清楚你想要实现的目标,但是:
如果列的值为null
,则您无法"#34;追加"一个值,因为任何涉及null
的表达式都会产生null(null||'foo'
为null
)。在这种情况下,您只需将null值替换为新值:
update the_table
set the_column = 'new value'
where the_column is null;
如果使用" 初始值为空"你的意思是如果" 当前值是一个空字符串",那么你会这样做:
update the_table
set the_column = the_column || 'this will be appended'
where the_column = '';
与...相同:
update the_table
set the_column = 'this will be appended'
where the_column = '';
null
和''
是不同的事情
另一种选择是使用concat()
函数,它会隐式将null
值视为空字符串:
update the_table
set the_column = concat(the_column, 'this will be appended')
where ...