SQL Server:如果col为空,则追加字符串不起作用

fis*_*g3r 2 sql sql-server

我需要以编程方式附加一些字符串col1.以下代码仅适用于col1非空的情况.如果它是空的,那么在运行代码后它仍然是空的.为什么?

UPDATE 
    table
SET 
    col1 = col1 + ';somestring'
WHERE 
    col2 = rowID
Run Code Online (Sandbox Code Playgroud)

mar*_*c_s 5

这是因为任何带有NULL结果的操作NULL.您需要使用ISNULL()"将" NULL值"转换" 为空字符串:

UPDATE 
    table
SET 
    col1 = ISNULL(col1, '') + ';somestring'
WHERE 
    col2 = rowID
Run Code Online (Sandbox Code Playgroud)