DB2 xmlquery如何使用case语句默认空记录

Posted

技术标签:

【中文标题】DB2 xmlquery如何使用case语句默认空记录【英文标题】:DB2 xmlquery how to default empty records using case statement 【发布时间】:2021-08-13 08:50:07 【问题描述】:

我有一个使用以下 XML 链接的 XML 查询:

select case xmlcast(xmlquery('testpath') passing table A.column A ) as varchar(100))
when '0' then 'N'
else 'Y'

如果表 A 列 A 为空白,则返回值默认为“Y”,但我想返回以下内容:

when '0' then 'N'
when no data in column A then '*'
else 'Y'

when

如何编写代码来实现将 a 列中的空白记录替换为“*”?

【问题讨论】:

旁注:CASE 表达式不是声明。 SQL 根本不知道流控制语句。 【参考方案1】:

试试这个:

CASE 
  WHEN tableA.columnA IS NULL THEN '*'
  WHEN xmlcast (xmlquery ('testpath') passing tableA.columnA) as varchar(100)) = '0' THEN 'N'
  ELSE 'Y'
END  

【讨论】:

以上是关于DB2 xmlquery如何使用case语句默认空记录的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Db2 中的十进制字段中获取无效值列表?

iSeries DB2 SQL - 使用 CASE 语句更新 UDF 中的变量

DB2 中的 CASE 子句语句

在 Java DB2 JDBC 中:如何在 SELECT 语句的 WHERE 子句中使用空参数,其中值可以为空或不为空?

SQL DB2 - 可以缩短长期列出的“case when”语句吗?

用于返回结果集的 where 子句中的 case 语句包含空值