SQL - 将NULL转换为string.empty

Sea*_*son 1 sql

我正在尝试对我们的数据库执行一些升级维护.我需要从一个表的所有行移动3列数据,并将该数据作为新行插入新表中.

INSERT INTO [dbo].[SnmpSettings]([NetworkDiscoveryId], [RoCommunities], [RwCommunities])
    SELECT id, Ro_Community, RW_Communities
    FROM [dbo].[Network_Discovery] 
Run Code Online (Sandbox Code Playgroud)

上面的代码可以正常工作,但Ro_Community和RW_Communities允许NULL,因为RoCommunities和RwCommunities不允许NULL.我应该如何将NULL转换为空字符串然后插入到我的新表中?

编辑:

INSERT INTO [dbo].[SnmpSettings]([NetworkDiscoveryId], [RoCommunities], [RwCommunities])
    SELECT id, Ro_Community, RW_Communities
    ISNULL(Ro_Community,'')
    FROM [dbo].[Network_Discovery] 


Msg 102, Level 15, State 1, Line 27
Incorrect syntax near 'Ro_Community'.
Run Code Online (Sandbox Code Playgroud)

bfa*_*tto 10

SELECT ISNULL(Ro_Community, '')
Run Code Online (Sandbox Code Playgroud)

要么

SELECT COALESCE(Ro_Community, '')
Run Code Online (Sandbox Code Playgroud)

注意:COALESCE自SQL Server 2005以来一直受支持.它是ANSI-92 SQL标准的一部分,因此很多人建议它优先于ISNULL.然而,也有报道称它有点慢.