Sql 查询为列返回空值,需要将空值替换为值。我不知道怎么做。请帮忙

Sql 查询为列返回空值,需要将空值替换为值。我不知道怎么做。请帮忙,sql,oracle10g,Sql,Oracle10g,这就是问题所在。当它被执行时,它给了我 SELECT COL1, DATE_END FROM TABLE1 WHERE COL1 IN('1','2','3','4','5','6','7','8','9','10','11','12') ORDER BY 1; 因为在表中,记录1…12的日期结尾为null 并且查询的修改方式应确保输出是正确的 COL1 DATE_END 1 2

这就是问题所在。当它被执行时,它给了我

SELECT COL1, DATE_END
        FROM TABLE1 
        WHERE COL1 IN('1','2','3','4','5','6','7','8','9','10','11','12')
    ORDER BY 1;
因为在表中,记录1…12的日期结尾为null

并且查询的修改方式应确保输出是正确的

COL1   DATE_END
1                                  
2 
3
4
5
6
7
8
9
10
11
12

我希望这次我能弄清楚我在尝试什么

请帮助我的专家。。。提前谢谢


我使用了“----”,因为我不知道如何在HTML中插入空格,所以使用COALESCE函数替换空值。我也不太喜欢在ORDERBY子句中使用顺序位置,所以我也改变了这一点

COL1  DATE_END    
1     12/31/9999
2     12/31/9999
3     12/31/9999
4     12/31/9999
5     12/31/9999
6     12/31/9999
7     12/31/9999
8     12/31/9999
9     12/31/9999
10    12/31/9999
11    12/31/9999
12    12/31/9999 
SELECT COL1, COALESCE(DATE_END, '12-31-9999') FROM TABLE1 WHERE COL1 IN('1','2','3','4','5','6','7','8','9','10','11','12') ORDER BY 1;

使用COALESCE函数替换空值。我也不太喜欢在ORDERBY子句中使用顺序位置,所以我也改变了这一点

SELECT COL1, COALESCE(DATE_END, '12-31-9999') FROM TABLE1 WHERE COL1 IN('1','2','3','4','5','6','7','8','9','10','11','12') ORDER BY 1;