当我尝试将.csv逗号分隔的平面文件导入Microsoft SQL Server 2008R2 64位实例时,对于字符串列,原始数据中的NULL变为文字字符串“NULL”,并在数字列中收到导入错误。任何人都可以请帮忙?提前致谢!SQL Server导入向导将NULL视为文字字符串'NULL'
1
A
回答
0
将数据放入临时表中,然后使用SQL代码插入到生产表中。
update table1
set field1 = NULL
where field1 = 'null'
或者,如果你想要做的很多领域
update table1
set field1 = case when field1 = 'null' then Null else Field1 End
, field2 = case when field2 = 'null' then Null else Field2 End
, field3 = case when field3 = 'null' then Null else Field3 End
-1
添加到HLGEM的答案,我动态地做到这一点,我加载到临时表这里所有列类型VARCHAR
然后执行:
DECLARE @sql VARCHAR(MAX) = '';
SELECT @sql = CONCAT(@sql, '
UPDATE [staging].[',[TABLE_NAME],']
SET [',[COLUMN_NAME],'] = NULL
WHERE [',[COLUMN_NAME],'] = ''NULL'';
')
FROM INFORMATION_SCHEMA.COLUMNS
WHERE [TABLE_SCHEMA] = 'staging'
AND [TABLE_NAME] IN ('MyTableName');
SELECT @sql;
EXEC(@sql);
然后做:
INSERT INTO [dbo].[MyTableName] ([col1], [col2], [colN])
SELECT [col1], [col2], [colN]
FROM [staging].[MyTableName]
凡表[dbo].[MyTableName]
与所需的列类型定义,这也失败了,并告诉你的类型转换错误......
5
KISS
预先进行处理,全部替换“空”与“”。
即.csv文件将有
,,
而不是
NULL,NULL,
似乎为我做的工作。
相关问题
- 1. 指定NULL字段为SQL Server批量导入
- 2. SQL Server导入行字符串表列
- 3. SQL Server触发器将NULL更改为空字符串
- 4. 使用SQL Server导入向导导致怪异字符
- 5. 将JavaScript文件导入为字符串?
- 6. 空字符串+ null =“null”?
- 7. 将`NULL`转换为字符串(空或者字面上`NULL`)
- 8. 在SQL导入'NULL'行中导入excel
- 9. mssql_bind将空字符串转换为NULL
- 10. SQL Server导入和导出向导导入错误的字符 - 代码页
- 11. MS SQL Server导入 - 使用新的非NULL列导入数据
- 12. 试图“NULL”的所有字符串值更新为NULL在SQL Server
- 13. 输入字符串为null Base64解码
- 14. 问题将字符串或NULL到SQL Server数据库
- 15. 将字符串设置为“”在一个LINQ查询中NULL NULL
- 16. 如何将NULL的文本字符串转换为数字?
- 17. NULL转换为空字符串的SQL Server
- 18. 将null转换为字符串
- 19. “字符串内嵌的NULL”导入大型CSV(8 GB)用fread()
- 20. 使用SSIS导入/导出向导在数字列中保留NULL?
- 21. Uipath字符串null
- 22. MEF导入null
- 23. Linq为什么连接字符串会导致null?
- 24. Django将字符串“(NULL)”插入到MySQL字段中,而不是NULL
- 25. 将ObjectID导入为字符串
- 26. Zend Framework将NULL字符串转换为MySql的实际NULL值
- 27. 为什么DB2将空字符串视为null?
- 28. SQL Server导入字符编码的Excel
- 29. SQL Server批量导入 - 字符翻译?
- 30. MEF导入对象为NULL
谢谢!这解决了我的问题! –
这是一个可怕的,可怕的解决方案。 “NULL”是一个完全有效的字符串,与null不同,所以不要这样对待它。像这样的事情正是导致所有以“空”姓的穷人遭遇麻烦的原因。 – Voo
@Voo,你看过这个问题吗?空值不是OP的有效值。 – HLGEM