首页 > 解决方案 > 用 SQL 中的默认值替换空白值

问题描述

我有以下查询,它返回列 property_value 的空白值:

select target_name,target_type,property_name,property_value
from oracle_properties
where target_name like 'DY01EPI%' and property_name like 'DataGuardStatus' 

sql开发人员的输出:

在此处输入图像描述

如果 Property_value 中的行为空白,我如何获得像“primary”这样的默认值。我试过使用NVL(property_value,'Primary')COALESCE(property_value,'Primary')但没有给出预期的结果。请建议。谢谢。

标签: sqloracle

解决方案


估计值不是NULL。您可以为此使用正则表达式:

select target_name, target_type, property_name,
       (case when regexp_like(property_value, '[a-zA-Z0-9]') then property_value
             else 'primary'
        end) as property_value
from oracle_properties
where target_name like 'DY01EPI%' and
      property_name like 'DataGuardStatus' 

推荐阅读