Kang Oyib wrote:
>
>
> Trimakasih pak Awaluddin, text file sudah bisa masuk ke tabel.
> Ada sedikit pertanyaan, apa fungsi NLS_NUMERIC_CHARACTERS pada select
> tersebut, karena dari select diatas saya hilangkan
> NLS_NUMERIC_CHARACTERS dan tetap bisa terinput.
>
> Regards
>
> Oyib
>
> .
Jika session menggunakan default thousand separator (karakter ',') dan
decimal separator (karakter '.'), maka parameter
NLS_NUMERIC_CHARACTERS akan mengubah karakter tsb (contoh sebelumnya
decimal separator menjadi ',' dan thousand
separator menjadi '.').
Jika tanpa parameter NLS_NUMERIC_CHARACTERS di tempat saya akan return
error karena thousand dan decimal separator-nya masih default:
SQL> SELECT TO_NUMBER('18.750.000,45','999G999G999G999D99') txt_to_num
2 FROM DUAL;
SELECT TO_NUMBER('18.750.000,45','999G999G999G999D99') txt_to_num
*
ERROR at line 1:
ORA-01722: invalid number
Tetapi jika text yang diinput dibuat sesuai dengan default separator-nya
maka tidak akan return error :
SQL> SELECT TO_NUMBER('18,750,000.45','999G999G999G999D99') txt_to_num
2 FROM DUAL;
TXT_TO_NUM
--------------------
18750000.45
Jadi ada kemungkinan default separator di tempat anda sudah diubah.
CMIIW,
AH