Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Конвертирование числового типа XML в NUMBER  [new]
garry_k
Member

Откуда: Волгоград-Москва
Сообщений: 118
Добрый день.
Подскажите пожалуйста следующую вещь.
У меня есть строка, в которой содержится числовое значение в формате XML
По стандарту XML это могут быть строки

-1E4, 1267.43233E12, 12.78e-2, 12 , -0, 0

Подскажите, как мне конвертировать такую строку в число с использованием функции TO_NUMBER
Заранее спасибо
29 апр 09, 12:02    [7127903]     Ответить | Цитировать Сообщить модератору
 Re: Конвертирование числового типа XML в NUMBER  [new]
Levandovskiy
Member

Откуда:
Сообщений: 329
а в чем проблема?
SQL> ALTER SESSION SET NLS_NUMERIC_CHARACTERS=". ";

Session altered.

SQL> select to_number(-1E4) from dual; 

TO_NUMBER(-1E4)
---------------
         -10000

SQL> select to_number(1267.43233E12) from dual;

TO_NUMBER(1267.43233E12)
------------------------
              1.2674E+15

SQL> select to_number(12.78e-2) from dual;

TO_NUMBER(12.78E-2)
-------------------
              .1278

SQL> select to_number(12) from dual;

TO_NUMBER(12)
-------------
           12

SQL> select to_number(-0) from dual;

TO_NUMBER(-0)
-------------
            0

SQL> select to_number(0) from dual;

TO_NUMBER(0)
------------
           0
29 апр 09, 12:20    [7128067]     Ответить | Цитировать Сообщить модератору
 Re: Конвертирование числового типа XML в NUMBER  [new]
garry_k
Member

Откуда: Волгоград-Москва
Сообщений: 118
Спасибо большое.
Но вот ALTER SESSION не очень хотелось делать.
Я думал, что просто указанием "правильных" параметров в TO_NUMBER можно обойтись
29 апр 09, 12:24    [7128108]     Ответить | Цитировать Сообщить модератору
 Re: Конвертирование числового типа XML в NUMBER  [new]
wildwind
Member

Откуда: Москва
Сообщений: 1296
garry_k
Я думал, что просто указанием "правильных" параметров в TO_NUMBER можно обойтись

Я тоже когда-то думал...
to_number с заданным разделителем и максимальной точностью
29 апр 09, 12:50    [7128334]     Ответить | Цитировать Сообщить модератору
 Re: Конвертирование числового типа XML в NUMBER  [new]
Levandovskiy
Member

Откуда:
Сообщений: 329
select to_number(translate('1267,43233E12', ',.', to_char(0,'fmD')||to_char(0,'fmD'))) from dual;
29 апр 09, 12:59    [7128431]     Ответить | Цитировать Сообщить модератору
 Re: Конвертирование числового типа XML в NUMBER  [new]
garry_k
Member

Откуда: Волгоград-Москва
Сообщений: 118
Спасибо большое за помощь. Воспользуюсь Вашим решением.
29 апр 09, 13:44    [7128810]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить