2

我正在从 livecycle es 8.2 在 sql server 2005 上执行存储过程

结果返回类似

<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”。

4

2 回答 2

1

尝试使用 coalesce() 函数将 null 转换为空字符串,如下所示:

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 的转换是如何发生的,看看是否有一种方法可以在那里指定空处理选项。

于 2010-09-13T17:52:32.300 回答
0

您可以使用 XSLT 转换从节点内容中删除 NULL。检查我的问题以获得进一步的解释

于 2010-09-23T15:56:18.843 回答