Sql Oracle中多个条件的Case语句 案例测试 当NULL和SUBSTR(('9999999'-Tst_Date),1,4)>2009时,则为'Medi' 当NULL和SUBSTR(('9999999'-Tst_Date),1,4)2009,则为'Medi' 当测试为NULL且SUBSTR(('9999999'-Tst_日期)1,4)

Sql Oracle中多个条件的Case语句 案例测试 当NULL和SUBSTR(('9999999'-Tst_Date),1,4)>2009时,则为'Medi' 当NULL和SUBSTR(('9999999'-Tst_Date),1,4)2009,则为'Medi' 当测试为NULL且SUBSTR(('9999999'-Tst_日期)1,4),sql,oracle,case,Sql,Oracle,Case,我是否在上述案例陈述中遗漏了什么? 我一直在得到00905。00000-“缺少关键字”错误?您的语法有点不正确。使用以下命令: CASE test WHEN NULL and SUBSTR(('99999999' - Tst_Date),1,4) > 2009 THEN 'Medi' WHEN NULL and SUBSTR(('99999999' - Tst_Date),1,4) < 2009 THEN 'hills' ELSE t

我是否在上述案例陈述中遗漏了什么?
我一直在得到00905。00000-“缺少关键字”错误?

您的语法有点不正确。使用以下命令:

CASE test
WHEN  NULL and  SUBSTR(('99999999' - Tst_Date),1,4) > 2009 THEN 'Medi'                     
WHEN   NULL and SUBSTR(('99999999' - Tst_Date),1,4) < 2009 THEN 'hills'
ELSE test
END AS "Phy"
当测试为空且SUBSTR('9999999'-Tst_Date),1,4)>2009,则为'Medi'
当测试为NULL且SUBSTR(('9999999'-Tst_日期)1,4)<2009时,则为'hills'
ELSE测试
以“物理层”结尾

子字符串函数是
substr
而不是
substrt
,正如您所说,它是一个输入错误。对不起,我现在编辑了这个问题
CASE WHEN test IS NULL AND SUBSTR(('99999999' - Tst_Date),1,4) > 2009 THEN 'Medi'
     WHEN test IS NULL AND SUBSTR(('99999999' - Tst_Date),1,4) < 2009 THEN 'hills'
     ELSE test
END AS "Phy"