类型不匹配空值SQL

时间:2014-10-22 23:06:36

标签: sql types rdbms create-table mismatch

由于某些原因,我的CREATE TABLE中出现Null值问题...它给了我这个错误消息:

  

Msg 4864,Level 16,State 1,Line 73
      第4行第7行(管理员)的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。

这是我的代码和我使用的数据:

CREATE TABLE SalesReps
(
    EmpNum      SMALLINT    NOT NULL    ,
    Name        VARCHAR(20) NOT NULL,
    Age         TINYINT     NOT NULL,
    RepOffice   TINYINT     NULL,
    Title       VARCHAR(20) NULL,
    HireDate    DATE,
    Manager     INT         NULL,
    Quota       MONEY       NULL,
    Sales       MONEY       DEFAULT 0
)

BULK INSERT SalesReps
FROM 'C:\Users\Steve\Desktop\salesreps.txt'
WITH ( FIELDTERMINATOR = '|',
       ROWTERMINATOR = '\n')

数据:

105|Bill Adams|37|13|Sales Rep|02/12/88|104|350000.00|367911.00
109|Mary Jones|31|11|Sales Rep|10/12/89|106|300000.00|392725.00
102|Sue Smith|48|21|Sales Rep|12/10/86|108|350000.00|474050.00
106|Sam Clark|52|11|VP Sales|06/14/88|NULL|275000.00|299912.00
104|Bob Smith|33|12|Sales Mgr|05/19/87|106|200000.00|142594.00
101|Dan Roberts|45|12|Sales Rep|10/20/86|104|300000.00|305673.00
110|Tom Snyder|41|NULL|Sales Rep|01/13/90|101|NULL|75985.00
108|Larry Fitch|62|21|Sales Mgr|10/12/89|106|350000.00|361865.00
103|Paul Cruz|29|12|Sales Rep|03/01/87|104|275000.00|286775.00
107|Nancy Angelli|49|22|Sales Rep|11/14/88|108|300000.00|186042.00

有人可以帮忙吗?我查看了其他不匹配的页面,但它们并没有多大帮助。我已经被困在这几天了。

1 个答案:

答案 0 :(得分:1)

第4行的批量插入包含值NULL,但我认为SQL Server将此解释为包含' NULL'的字符串。您可以尝试使用以下内容更改第4行:

106|Sam Clark|52|11|VP Sales|06/14/88||275000.00|299912.00

在第7行,你的列Quota上也会遇到同样的问题,它需要一个MONEY类型,但是提供了一个包含NULL的字符串。