可以使用 ABinitio 中提供的 COALESCE 函数来实现获取第一个非空列的目的。COALESCE 函数会按照指定的列的顺序依次判断列是否为空,如果不为空,则返回该列的值。如果所有列都为空,则返回 NULL。
以下是一个示例代码:
out :: record { first_not_null_col :: string; }
/* 要判断的列 */ in_col1 :: string; in_col2 :: string; in_col3 :: string; in_col4 :: string;
/* 获取第一个非空列 */ out.first_not_null_col :: coalesce(in_col1, in_col2, in_col3, in_col4);
上述代码中,通过定义一个 out 类型的 record 来存储获取到的第一个非空列的值。然后通过使用 COALESCE 函数,依次传入需要判断的列,在获取到第一个非空列之后,将该列的值存入 out 类型的 record 中。
上一篇:abind控制台输出不正确?