Sql 需要使用解码或案例功能的帮助吗
我需要一个列,当enddate为null或大于sysdate时,将状态值显示为“活动”或“非活动”Sql 需要使用解码或案例功能的帮助吗,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,我需要一个列,当enddate为null或大于sysdate时,将状态值显示为“活动”或“非活动” 我可以使用decode或case吗?我建议您使用这样的case语句,因为在性能上没有太大差异,而且case更清晰 SELECT CASE WHEN ( ENDDATE IS NULL OR ENDDATE > SYSDATE ) THEN 'ACTIVE' ELS
我可以使用decode或case吗?我建议您使用这样的case语句,因为在性能上没有太大差异,而且
case
更清晰
SELECT
CASE
WHEN ( ENDDATE IS NULL
OR ENDDATE > SYSDATE )
THEN
'ACTIVE'
ELSE
'INACTIVE'
END
AS CHECK_ACTIVE_STATUD
FROM
YOUR_TABLE;
您可以尝试以下方法:
Select CASE WHEN (t.c1 is null or t.c1 >Sysdate) THEN 'ACTIVE' ELSE 'INACTIVE' end
from t;