Sql server Null在SQL Server中被错误地导入为空字符串

Sql server Null在SQL Server中被错误地导入为空字符串,sql-server,Sql Server,我在SQLServer2008工作。我正在通过向导(即不使用大容量插入)将管道分隔的文本文件导入目标表。我没有指定文本限定符(因为值本身中不应该有任何管道)。该文件正确地导入到表中,但我注意到null被转换为空字符串(我不希望这样)。我没有指定转换,错误列可以为null。有人能解释一下为什么会发生这种情况以及如何减轻这种情况吗?我没有访问BIDS的权限,也无法运行批量插入语句。表示NULL(没有值)在文本文件中有点难。。。。如果两个管道分隔符相继出现(|),那么这两个管道分隔符之间确实有一个空字

我在SQLServer2008工作。我正在通过向导(即不使用大容量插入)将管道分隔的文本文件导入目标表。我没有指定文本限定符(因为值本身中不应该有任何管道)。该文件正确地导入到表中,但我注意到null被转换为空字符串(我不希望这样)。我没有指定转换,错误列可以为null。有人能解释一下为什么会发生这种情况以及如何减轻这种情况吗?我没有访问BIDS的权限,也无法运行批量插入语句。

表示
NULL
(没有值)在文本文件中有点难。。。。如果两个管道分隔符相继出现(
|
),那么这两个管道分隔符之间确实有一个空字符串-而不是
NULL
…当我将文件导入Excel(对数据进行一些修改),保存Excel文件,然后导入目标表时,我不会遇到此问题。因此,当从Excel文件读取时,SQL Server必须将空字符串解释为空字符串。但是,当直接从文本文件导入目标表时,它将空字符串解释为空字符串。有没有办法强迫SQL总是将空字符串解释为null?我刚刚运行了另一个测试用例。如果直接从文本文件导入,不仅空字符串保持为空字符串(即,它们不会作为NULL导入),而且任何长度的空白字符串也会作为空字符串导入。因此,似乎唯一的解决方案是首先通过Excel传递文件。