在以下查询中,
select nvl(gender, 'not available') from member
我希望当gender为null时,查询返回'Not Available'。但似乎第二个参数必须与第一个参数是相同的数据类型。(在这个例子中,性别是CHAR(1),但第二个参数是varchar或char(n)而不是CHAR(1)。除此之外是否有任何解决方案更改主表中的数据类型? 我正在使用Amazon Redshift。 我也在组中使用nvl语句,所以我需要解决方案尽可能简洁。
答案 0 :(得分:1)
您可以尝试使用案例
select case gender when is null then 'not available' else gender
from my_table
答案 1 :(得分:-1)
这将有效:
首先找到性别(SELECT gender FROM member WHERE .....)
if gender is null
begin
select 'not available' as result
end
else
begin
<-- do your query-->
end