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

Откуда:
Сообщений: 62
открыли мне тут дивный мир типа данных xmltype для работы c dynamicSQL (работающим с переменным кол-ом
столбцов в форме "табличного" результата) в виде sys_refcursor на объект.
все здорово, но есть вопросы. и гугл с наскоку не порадовал....
Одно поле таблицы у меня - это NUMBER(4,2). Значением там, к примеру, "0,45".
А вот после "превращения" таблицы в xmltype тип и его распечатке: "DBMS_OUTPUT.PUT_LINE(xt.getCLOBVal());"
значением этого поля я вижу только ",45" - т.е. ведущий нуль исчез. КАК его вернуть?
Похожая проблема с полем даты. В полученном xml - она полная, т.е. вида "DD.MM.YYYY HH24:MI:SS"?
Хотя тут-то понятно - это полная форма для содержимого поля реального типа данных DATE из таблицы.
НО я бы хотел получить только "DD.MM.YYYY". КАК это можно сделать?
18 июл 16, 16:20    [19423830]     Ответить | Цитировать Сообщить модератору
 Re: xmltype проблемы форматирования и/или генерирования?  [new]
123йй
Member

Откуда:
Сообщений: 1637
Познающий
КАК это можно сделать?
to_char
18 июл 16, 16:22    [19423846]     Ответить | Цитировать Сообщить модератору
 Re: xmltype проблемы форматирования и/или генерирования?  [new]
Познающий
Member

Откуда:
Сообщений: 62
123йй
Познающий
КАК это можно сделать?
to_char

эмм. и где это можно вызвать?

xc.extract('/*/text()').getStringVal);

вот так я получаю значение - оно там УЖЕ на выходе - просто строка ",45".
Нет, конечно, со строкой можно много преобразований сделать, тот же ноль добавить...
но смысл вопроса - как по дефолту, просто считывая значения из xmltype, получить
строку с исходным значением "0,45" - таким, каким оно в таблице изначально видится
и было внесено.

Конечно, если отмену такого неявного преобразования сделать нельзя - ок, буду
тогда строки парсить и "фиксить" на лету. Но странно, что в продукте зашита такая
убогая логика, что число типа NUMBER (m,n) при переводе в XML надо сохранять
БЕЗ ведущего нуля.... Скорее это какая-то настройка... чего-то, где-то...
вот надо бы найти её.
18 июл 16, 16:46    [19423990]     Ответить | Цитировать Сообщить модератору
 Re: xmltype проблемы форматирования и/или генерирования?  [new]
Elic
Member

Откуда:
Сообщений: 29979
Познающий
Но странно, что в продукте зашита такая убогая логика,
Не отходи от зеркала.
Познающий
что число типа NUMBER (m,n) при переводе в XML надо сохранять
БЕЗ ведущего нуля...
Советую смириться. В противном случае делать всё самому, без неявных преобразований xml-я.
Познающий
Скорее это какая-то настройка... чего-то, где-то... вот надо бы найти её.
NLS_*
Что лишний раз подтверждает, что без году неделя с места в карьер ты бросился в дебри не понимая основ. Получится быдло-говно-кодище. Сорее неработающее.
18 июл 16, 16:53    [19424039]     Ответить | Цитировать Сообщить модератору
 Re: xmltype проблемы форматирования и/или генерирования?  [new]
Познающий
Member

Откуда:
Сообщений: 62
Elic,

ну раз работает так КАК надо боссу и БЫСТРО - то всё всем нравится.

NLS_* - я в курсе, что эти настройки есть, и в курсе, что они влияют на многие моменты работы функций оракла.
НО вот что какая-то из поднастроек этой группы - может отфигачить напрочь ведущий нуль!? Эт я ни видел ни разу...
И какая же ТОЧНО из поднастроек это может сделать? Или никакая - ибо это вшитая особенность "конвертации" в xml?
Если так - то без сомнения это весьма нечеловечная реализация.

Дату да - корректный NLS_* подправил для нужного мне вывода. Сенкс!
18 июл 16, 17:58    [19424391]     Ответить | Цитировать Сообщить модератору
 Re: xmltype проблемы форматирования и/или генерирования?  [new]
Познающий
Member

Откуда:
Сообщений: 62
ну, в целом, собравшись с мыслями и воспользовавшись наводками - проблемы удалось решить!
Всем спасибо!
18 июл 16, 18:10    [19424412]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить