0

在以下查询中,

select NVL(gender, 'not available') from member

当性别为空时,我希望查询返回“不可用”。但似乎第二个参数必须与第一个参数的数据类型相同。(在这个例子中,性别是 CHAR(1),但第二个参数是 VARCHAR 或 CHAR(n) 而不是 CHAR(1)。除了更改主表中的数据类型?我正在使用 Amazon Redshift。我也在 group by 中使用 nvl 语句,因此我需要尽可能简洁的解决方案。

4

2 回答 2

1

你可以试试case

select case gender when is null then 'not available' else gender 
from my_table 
于 2016-07-27T18:14:29.980 回答
-1

这将起作用:

首先找到性别(SELECT gender FROM member WHERE .....)

if gender is null
begin
select 'not available' as result
end
else
begin
<-- do your query-->
end
于 2016-07-27T19:25:12.797 回答