对不起,我是oracle的PL / SQL toad新手。我有一个简单的问题。我需要在这个表“JTF_RS_DEFRESOURCES_VL”中找到一些列名,我用这个脚本来做。只是一个示例列。
SELECT column1,
column2,
column3,
column4,
column5,
end_date_active
FROM jtf_rs_defresources_vl
然后我想使用“if else语句”,如果END_DATE_ACTIVE = null则它处于活动状态,否则它处于非活动状态。
答案 0 :(得分:2)
听起来你想要一个CASE声明
SELECT (CASE WHEN end_date_active IS NULL
THEN 'Active'
ELSE 'Inactive'
END) status,
<<other columns>>
FROM jtf_rs_defresources_vl
答案 1 :(得分:1)
您可以使用@Justin建议的CASE
表达式,但在Oracle中有一个更简单的函数 - NVL2
。它接收三个参数并评估第一个参数。如果不是 null
,则返回第二个参数,如果是,则返回第三个参数。
所以在你的情况下:
SELECT NVL2(end_date_active, 'Active', 'Inactive') AS status,
<<other columns>>
FROM jtf_rs_defresources_vl
答案 2 :(得分:0)
select case end_date_active
when is null then 'ACTIVE',
else 'INACTIVE'
end as 'STATUS'
来自jtf_rs_defresources_vl;