2014-04-23 55 views
0

我已編號(20,4)字段的量,數據被以下列格式來加載:如何以句點(「‘)代替逗號(’,」)而使用​​SQL裝載機

120,24 
200,45 

我想將它插入表中以下格式:

120.24 
200.45 

下面是控制文件:

LOAD DATA 
TRUNCATE INTO TABLE TEMP_TARIFICACION_FIJA_69 
FIELDS TERMINATED BY '|' 
OPTIONALLY ENCLOSED BY '"' 
TRAILING NULLCOLS 
(
ID EXPRESSION "TARIFICACION_FIJA_69_SEQ.nextval", 
TIPO, 
SECTARIFA, 
IDFECTAR, 
IDGRPDES, 
IDCLAISDEST, 
IDTIPUSO, 
IDTIPHOR, 
MONTO "REPLACE (:MONTO,',','.')", 
IDOPERADOR, 
LAST_MODIFIED_DATE "SYSDATE" 
) 

我想更換現場MONTO。我正在嘗試使用上述控制文件,但它不起作用。 我該如何做到這一點?請幫幫我。提前致謝。

+0

是在不同的文化/區域設置比期望的格式的原始數據?我問,因爲您可能還需要將1.120,24轉換爲1,120.24(或1120.24)。 –

回答

0

你可以試試這個:

monto "TO_NUMBER(:monto,'999D99', 'NLS_NUMERIC_CHARACTERS='',.''')", 
+0

仍然無法正常工作。 – Mariners

+0

不是還沒有這個工作。 – Mariners

+0

呃。抱歉。也許這些例子可以幫助:http://stackoverflow.com/questions/18143888/how-to-use-to-number-and-nullif-in-sql-loader http://docs.oracle.com/cd/E11882_01 /server.112/e22490/ldr_field_list.htm#SUTIL1144 http://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_options072.htm#OLADM413 –

0

試試這個 monto "to_number(replace(:nilai_pph,',','.'))"