當我嘗試將.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