powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / XMLTABLE - значения по умолчанию для числовых полей
3 сообщений из 3, страница 1 из 1
XMLTABLE - значения по умолчанию для числовых полей
    #36425042
kasyanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
При извлечении xml-данных в реляционный вид с помощью XMLTABLE столкнулся с проблемой.
Если в XML имеем пустой тег типа
<QTY/>
то при указании в XMLTABLE колонки в виде
salary smallint default 0 PATH 'qty'

будет ошибка преобразования
SQL16061N The value "" cannot be constructed as, or cast (using an implicit or explicit cast) to the data type "xs:short". Error QName=err:FORG0001. SQLSTATE=10608

Ошибки не будет, и будет применено значение по умолчанию 0 только в случае, если тег вообще не будет найден во входном документе.


Посоветуйте пожалуйста, как обойти эту ситуацию? Заставлять поставщика XML исключать пустые теги из документа не хотелось бы.

Алексей.
...
Рейтинг: 0 / 0
XMLTABLE - значения по умолчанию для числовых полей
    #36425237
kasyanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Городить конструкцию вида
Код: plaintext
1.
2.
3.
4.
5.
case rtrim(QTY) when '' then cast(null as smallint) else cast(QTY as smallint) end QTY,
.....
from XMLTABLE(
.....
QTY varchar( 8 ) default '' PATH 'qty'

тоже не хочется
...
Рейтинг: 0 / 0
XMLTABLE - значения по умолчанию для числовых полей
    #36425393
kasyanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока вышел из положения конструкцией внутри path

Код: plaintext
QTY smallint path 'if (QTY eq "") then null else QTY',
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / XMLTABLE - значения по умолчанию для числовых полей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]