我在从文本文件(逗号分隔和“文本限定符”)导入数据时遇到了一个问题,这是我们从一个有近30年历史的系统中唯一能做的导出类型。
问题来自于旧系统中的某些人在字段中使用“空格”,在导入过程中SQL显示有内容,并将单元格显示为"NULL“当您在Excel中打开此文本文件时,它显示为空单元格(这是正确的),但单元格的行为与真正的空单元格不同。
示例(来自Notepad++):

->橙色箭头显示制表符(将它们排成一行以便于阅读)。橙色圆点表示空格
一些Column1数据有额外的空格("N“和"B”行),但不会造成问题。
Column2 -前8列很好。"“文本限定符之间没有任何内容。第9-13行文本限定符之间有空格。加载到Excel时,单元格为空且外观良好。加载到SQL Server时出现错误,如果我从Excel文件加载,SQL在这些单元格中显示为NULL。试着用Access“洗”这个,加载好了,保存dbo并加载这个dbo在SQL中显示为NULL。
Column3与Column2相同:行1是好的,问题在行2和行3,然后4-8是好的,显示X,9到13显示空。
你有什么办法把它加载到SQL Server中吗?更改列what data inside (忽略空格)的某些设置...?
发布于 2016-10-27 02:01:35
假设您希望在导入数据后将数据库中的空格转换为空字符串,则可以运行SQL,如下所示
UPDATE [yourTableName]
SET [columnName] = ''
WHERE [columnName] = ' ';但是,需要对许多列进行复制和粘贴,并将其放入正确的表名和列名中。
如果您希望在将空格更改为空字符串的同时删除字符串开头和结尾的空格,则可以使用
UPDATE [yourTableName]
SET [columnName] = LTRIM(RTRIM([columnName]))这也会整理"B“和"N”条目。
https://stackoverflow.com/questions/40268870
复制相似问题