2017-08-25 131 views
0

我提前道歉這是混亂,但....空白字段VS NULL - SQL Server 2008中

我有大量需要被插入到一個SQL Server表中的行。

我已經爲每個使用Excel創建插入語句,然後只複製/粘貼到SQL Server並將其添加到表。

問題是我需要至少有9個可用的「Key」字段,如下所示(例如Key1,Key2等),但不是每行都有9個字段的數據,並且這些字段顯示爲空白見下文)

下面是沿一個INSERT語句的例子什麼的圖片是什麼我得到在SQL服務器:

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」而不是空白。

+0

所以設置null'的''而不是 「」'空字符串。 –

+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' 
) 
2

在你INSERT聲明你需要指定NULL,而不是空白。

2

只需使用 INSERT INTO表名(列名)值(NULL)

+0

語法爲microsoft sql server management studio –