2016-06-22 48 views
1

What the data looks like我使用什麼數據類型來加載SQL中的科學(e)符號?將最終加載到oracle數據庫與sqlloader

什麼數據類型我將這些數字分類爲?

我試過數字,浮動,浮動外部和二進制雙。所有這些在嘗試在SQL上創建最終加載到的表時都給了我一個無效的數據類型錯誤。

+0

請顯示錶格定義以及如何加載。 – OldProgrammer

+0

數字是數字。他們獨立於他們的代表。如果您存儲數字100,它可以顯示爲100或1e + 02,但數字是相同的。你應該沒有問題導入數字,如果他們確實是數字。或者它們實際上不是數字,而是字符串,意味着用科學記數法表示數字? – mathguy

回答

0

假設您的數據當前是字符串格式(而不是數字格式 - 如果實際上您的數據是數字格式,請查看我對您問題的評論),那麼您不需要數據類型 - 您需要將表示科學格式數字的字符串轉換爲實際數字的適當格式模型。

http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#BABFJEAA

例如:

SQL> select to_number('1.0e+02', '9.9eeee') as converted_to_number from dual; 

CONVERTED_TO_NUMBER 
------------------- 
       100 

1 row selected. 

這需要字符串'1.0e+02'(表示在科學記數法數字100),並使用格式模型'9.9eeee' - 看到這種格式模型鏈接的文檔。

+0

如何/將在哪裏將此語句放在我的控制文件中?我有28列所有加載信息的科學記數法需要轉換爲數字格式。 – vkmr

+0

負載數據 infile的 HIGGS.csv 成表希格斯通過終止 字段 「」 ( CLASS NUMBER, LEPTON_PT NUMBER, LEPTON_ETA NUMBER, LEPTON_PHI NUMBER, MISSING_ENERGY_MAG NUMBER, MISSING_ENERGY_PHI NUMBER, JET_1_PT NUMBER, JET_1_ETA NUMBER, JET_1_PHI NUMBER, JET_1_B-TAG NUMBER, JET_2_PT NUMBER, JET_2_ETA NUMBER, JET_2_PHI NUMBER, JET_2_B-TAG NUMBER, JET_3_PT NUMBER, JET_3_ETA NUMBER, JET_3_PHI NUMBER, JET_3_B-TAG NUMBER, JET_4_PT NUMBER, JET_4_ETA NUMBER, JET_4_PHI NUMBER, JET_4_B-TAG NUMBER, ) – vkmr

相關問題