Измените тип данных varchar на Число в Oracle - PullRequest
2 голосов
/ 19 октября 2010

У меня есть такие данные в базе данных Oracle -> 20123,45, тип данных varchar. и я хочу перенести его в столбец с типом данных NUMBER, изменить запятую (,) на точку (.). поэтому ожидаемый результат 20123.45 и тип данных NUMBER,

как я могу это сделать?

спасибо, прежде чем: D

Ответы [ 2 ]

6 голосов
/ 19 октября 2010

использование

to_number(YourColumnName, FormatMask, NLS_NUMERIC_CHARACTERS = ',.') from ...

select to_number('12345.667677', '99999999D999999', 'NLS_NUMERIC_CHARACTERS = ''.,''') 
from dual

select to_number('12345,667677', '99999999D999999', 'NLS_NUMERIC_CHARACTERS = '',.''') 
from dual
0 голосов
/ 19 октября 2010

Еще один способ сделать это будет

SELECT TO_NUMBER(REPLACE('12345,6789123', ',', '.')) FROM DUAL;

Делись и наслаждайся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...