我有一個表包含大量列。許多列包含NULL值。但是,當我試圖從中創建CSV文件時,NULL被'/ N'取代。我想設置的所有列值空字符串,而不是NULL,這樣我就不用面對有問題的「/ N」設定值=」「(空字符串),其中字段值是NULL(多個列)
2
A
回答
0
您可以更新所有列,並設置爲空字符串,而不是NULL,如果你不想繼續NULL。
如果你想繼續在DB NULL,然後導出到一個臨時數據庫表,並應用上面的邏輯......
0
您可以使用FIELDS ESCAPED BY
條款與SELECT
查詢一起,並指定一個空字符串或空白(' '
),以獲得空值,而不是\N
,如:
SELECT * INTO file
FIELDS ESCAPED BY ''
LINES TERMINATED BY '\n'
FROM test_table;
Here's MySQL的關於它的文件,這就是它說:
如果ESCAPED BY字符字段是空的,沒有字符被轉義 和NULL是作爲NULL輸出,而不是\ n。
3
首先,你需要使用以下查詢來更新列默認值。
ALTER TABLE `table_name` CHANGE `column_name` `column_name` varchar(length) default '';
UPDATE `table_name` SET `column_name`='' where `column_name`='/N';
願這能幫助你。
+0
''/ N''匹配文字字符串'/ N',而不是'NULL'值。 – Barmar
0
您可以使用結果集元數據。遍歷所有列並檢查空值。
ResultSet rsMain = stmt.executeQuery(selectQuery);
ResultSetMetaData rsmd = rsMain.getMetaData();
while(rsMain.next()){
for (int i = 1; i <=rsmd.getColumnCount(); i++) {
if(rsMain.wasNull())
{
sb.append('');// this is the string buffer that writes to the csv
sb.append(',');
}
}
}
0
您可以更新這樣的表格:
UPDATE yourTable
SET col1 = IFNULL(col1, ''),
col2 = IFNULL(col2, ''),
col3 = IFNULL(col3, ''),
...
一旦你做到了這一點,你應該改變架構,以便空不允許,默認值是''
,所以你不必再次通過這個。
相關問題
- 1. 空字符串代替Null值雄辯
- 2. 字符串賦值,空格返回null
- 3. 值都是空字符串
- 4. Angular 2將null設置爲輸入字段的空字符串值
- 5. NVelocity其中字符串值爲空
- 6. 選擇過濾多個字段,其中值是「空」
- 7. 骨幹模型默認值:null?空字符串?空陣列?
- 8. NULLIF空字符串檢查返回空字符串與列名稱,但與列值NULL NULL
- 9. 在數值字段中插入空值而不是NULL
- 10. Ajax返回的是空字符串而不是NULL值
- 11. 空字符串+ null =「null」?
- 12. Django select字段是字符串和列值的串聯
- 13. 設置變量的數據庫值設置爲NULL而不是空字符串
- 14. MongoDB - 查找給定字符串中是否包含字段值
- 15. URL查詢字符串中字段名稱的多個值?
- 16. Parcelable android將空字符添加到字符串字段值
- 17. 在MySQL列中匹配空字符串而不是空值
- 18. 字符串&字符串的設置值
- 19. 設定值時字段爲空
- 20. 使用多值字段中的選定子字符串創建新列
- 21. JavaScript檢測字符串中的NULL值
- 22. 選擇所有字段,其中字段值不是在陣列
- 23. 查找給定的字符串值列表中的字符串
- 24. 算多少整數值是一個給定的字符串中
- 25. android-jackson將空字段值作爲空字符串
- 26. Python測試一個字符串是否是某一設定值
- 27. javascript:如何根據數據庫值判斷字段值是空字符串還是空值
- 28. 字符串排序空值
- 29. 空字符串值OnItemSelected
- 30. 字符串 - 查找空值
又有什麼問題呢? –
也許把凳子移到鋼琴上。 – Strawberry
'/ N'是'\ N'的拼寫錯誤嗎? – Barmar