如何使用to_CHAR(MAX)在SQL上设置NVL

如何使用to_CHAR(MAX)在SQL上设置NVL,sql,oracle,nvl,Sql,Oracle,Nvl,我正在尝试设置一个打开值为->的nvl() select to_char(max(CLOSE_DATE),'dd.mm.yyyy hh24:mi:ss') 如果它已关闭,则获取日期('dd.mm.yyyy hh24:mi:ss'),否则它应显示OPEN 有什么想法吗,我可以把NVL()放在哪里 解决方案: select nvl (to_char(max(CLOSE_DATE),'dd.mm.yyyy hh24:mi:ss'), 'OPEN') 这是什么 se

我正在尝试设置一个打开值为->的
nvl()

        select to_char(max(CLOSE_DATE),'dd.mm.yyyy hh24:mi:ss') 
如果它已关闭,则获取日期('dd.mm.yyyy hh24:mi:ss'),否则它应显示OPEN

有什么想法吗,我可以把
NVL()
放在哪里

解决方案:

        select nvl (to_char(max(CLOSE_DATE),'dd.mm.yyyy hh24:mi:ss'), 'OPEN')
这是什么

select decode(close_date, null, 'OPEN', 
                                to_char(close_date, 'dd.mm.yyyy hh24:mi:ss'
             ) result
from your_table


为什么不使用简单的标准SQL而不是专有语法<代码>合并(到字符(关闭日期,'dd.mm.yyyy hh24:mi:ss'),'OPEN')因为它被标记为“Oracle”?除此之外,没有其他原因,@dnoeth;谢谢你的评论,虽然。thx的所有反馈,但开放不出现字段仍然是空的。。。以防没有日期。其他想法?样本数据和预期输出会有很大帮助。您希望应用什么默认值?其想法是,如果没有日期“dd.mm.yyyy hh24:mi:ss”可用于显示类似“仍然打开”的文字,则输出为空。脚本正在工作,但如果日期“dd.mm.yyyy hh24:mi:ss”不可用,我很难设置“仍然打开”。。脚本:选择至字符(最大(关闭日期),dd.mm.yyyyyyyyyyyyh24:mi:ss“from…as Close_date by date”dd.mm.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyh24:mi:ss“您是指日期吗?我的意思是,如果它为null,则它为null,无论您想要应用何种格式。无论如何,示例数据仍然会有帮助。是的,我的意思是日期:out put类似于此产品ID:55766产品状态:打开创建日期-日期:这里应该显示“仍然开放”,我的意思是在您的问题中添加一个详细的示例,我们可以自己尝试。
select nvl(to_char(close_date, 'dd.mm.yyyy hh24:mi:ss'), 'OPEN') result
from your_table