получение XML со значением NULL, когда это на самом деле NULL - PullRequest
2 голосов
/ 13 сентября 2010

Я выполняю хранимую процедуру на sql server 2005 из livecycle es 8.2

результат возвращает что-то вроде

<Table>
<Row>
    <ID>1</ID>
    <EN_Cd>EN</EN_Cd>
    <FR_Cd>null</FR_Cd>
    <EN_Nm>English</EN_Nm>
    <FR_Nm>Anglais</FR_Nm>
    <EN_Shrt_Dscrptn>null</EN_Shrt_Dscrptn>
    <FR_Shrt_Dscrptn>null</FR_Shrt_Dscrptn>
</Row>
</Table>

Я пытаюсь выяснить, почему слово "null""ставится в результате.

Даже с типом xs: int он возвращает слово" null "

Есть ли в jdbc или livecycle что-то, что может это исправить?

хранимая процедура представляет собой простую

   select id, en_cd, fr_cd, 
          en_nm, fr_nm, 
          en_shrt_dscrptn, fr_shrt_dscrptn 
   from language

fr_nm, en_shrt_dscrptn, fr_shrt_dscrptn равны нулю в базе данных, они не содержат значение "null".

Ответы [ 2 ]

1 голос
/ 13 сентября 2010

Попробуйте использовать функцию coalesce () для преобразования нулей в пустые строки, например:

select id, 
      coalesce(en_cd,''), 
      coalesce(fr_cd,''), 
      coalesce(en_nm,''), 
      coalesce(fr_nm,''),
      coalesce(en_shrt_dscrptn,''), 
      coalesce(fr_shrt_dscrptn,'') 
from language

В качестве альтернативы, вы можете изучить, как происходит преобразование в XML, и посмотреть, есть ли способ указатьтам нет вариантов обработки нуля.

0 голосов
/ 23 сентября 2010

вы можете использовать XSLT-преобразование для удаления значения NULL из содержимого узлов. проверьте мои вопросы для дальнейшего объяснения этого

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