null值在sql-server中追加字符串

时间:2017-08-08 07:24:45

标签: sql-server sql-server-2008

我有一个查询

update quotestable set quotestags= quotestags +', Panchatantra' where quotesid=1374

仅当quotestags不为null时才有效。如果它为null则不会更新。 方法是什么?

2 个答案:

答案 0 :(得分:3)

您可以使用:

update quotestable set quotestags= COALESCE(quotestags, '') +', Panchatantra' where quotesid=1374

这将使用空字符串替换null值以进行连接。

顺便说一下,如果quotestags为空,则仍会执行更新,但是null + [value] = null,因此效果与更新前的情况相同。

答案 1 :(得分:3)

我认为这是一个更好的解决方案:

UPDATE quotestable
SET quotestags = CASE 
        WHEN quotestags IS NULL
            THEN 'Panchatantra'
        ELSE quotestags + ', Panchatantra'
        END
WHERE quotesid = 1374

因为你不想附加那些','当quotestags为null时。