空白字段与NULL - SQL Server 2008

时间:2017-08-25 15:22:26

标签: sql sql-server sql-server-2008

我提前道歉,因为这令人困惑,但......

我需要将大量行插入到SQL SERVER表中。

我为每个使用Excel创建了插入语句,然后将其复制/粘贴到sql server中并将其添加到表中。

问题是我至少需要9个可用的“Key”字段,如下所示(例如Key1,Key2等),但不是每行都有9个字段的数据,而且这些字段显示为空白(参见下文)

下面是一个插入语句的示例以及我在Sql Server中获得的图片:

INSERT INTO ILOOKUP (LISTNAME,VALUE,KEY1,KEY2,KEY3,KEY4,KEY5,KEY6,KEY7,KEY8,KEY9,COMMENT,MODIFIEDBY) VALUES ('ANY_REFVALUE_LIST','1000--100010000X-67141000','1000100008','100010008','1000100000X','','','','','','','ANY_REFVALUE_LIST','ZH')

enter image description here

我想要的是这些字段显示为“NULL”而不是空白。

3 个答案:

答案 0 :(得分:2)

您需要插入NULL,而不是插入空字符串。我还建议你的表似乎需要一些规范化。每当你看到像Key1,Key2这样的编号列时,它就会显示出一些东西。

INSERT INTO ILLOOKUP 
(
    LISTNAME
    , VALUE
    , KEY1
    , KEY2
    , KEY3
    , KEY4
    , KEY5
    , KEY6
    , KEY7
    , KEY8
    , KEY9
    , COMMENT
    , MODIFIEDBY
) 
VALUES 
(
    'ANY_REFVALUE_LIST'
    , '1000--100010000X-67141000'
    , '1000100008'
    , '100010008'
    , '1000100000X'
    , NULL
    , NULL
    , NULL
    , NULL
    , NULL
    , NULL
    , 'ANY_REFVALUE_LIST', 'ZH'
)

答案 1 :(得分:2)

INSERT声明中,您需要指定NULL而不是空白。

答案 2 :(得分:2)

简单地使用 插入TableName(columnName)值(null)