0
在Netezza表格中存儲數據時,數據存在一些差異。 例如,'?????AIAI'在CP1166編碼中,並且在加載到表格中時正在進行修改。如何將數據存儲在以各種格式編碼的Netezza中?
如何避免加載數據的這種修改,或者是否有支持所有類型編碼的數據類型?
在Netezza表格中存儲數據時,數據存在一些差異。 例如,'?????AIAI'在CP1166編碼中,並且在加載到表格中時正在進行修改。如何將數據存儲在以各種格式編碼的Netezza中?
如何避免加載數據的這種修改,或者是否有支持所有類型編碼的數據類型?
如果要存儲unicode/Multibyte字符,則必須使用可存儲多字節字符的NVARCHAR/NCHAR類型數據類型。您還可以查看NZCONVERT/Iconv以獲得所需的輸出。
NVARCHAR/NCHAR只採用UTF-8格式,並且通過使用它,數據根本不會被加載並被丟棄爲不良記錄。 – Aishwarya
你確定數據正在被修改嗎?可能是這僅僅是一個顯示問題。如果你提供了你開始的字符串的十六進制表示,然後用十六進制表示你認爲它正在被修改的東西,這將會很有幫助。檢查這個問題,看看有時兩者可能會感到困惑:http://stackoverflow.com/questions/34537853/using-nzload-to-load-special-characters/34580455#34580455 – ScottMcG
我已經通過這個鏈接。但是,當我直接將記錄插入到表中時,它將按照原樣插入。如果使用sqlldr(在Oracle中)或外部表格(Netezza)加載它,它將被修改並且十六進制值被更改。 – Aishwarya
你能提供什麼進出的樣本值嗎? – ScottMcG