0

我的案例陈述中有一个错误,有人可以帮忙吗

Case
When length(cat) < 3
Then SubStr(cat,1,1) || '0' || SubStr(cat,-1,1)
Else cat
End cat1,hd0,
Case
When GEMS_CMN_HD1_ABREV.hd1 <>"00"
then " / "
**else HD1_ABR,null**
end,

好像我在 Else hd1_ABR, NULL 中的错误

ORA-00905:缺少关键字 00905。00000 - “缺少关键字” *原因:
*操作:第 11 行错误第 18 列

4

2 回答 2

0

If I am right you are trying to replace NULL, try ISNULL

Case
When length(cat) < 3
Then SubStr(cat,1,1) || '0' || SubStr(cat,-1,1)
Else cat
End cat1,hd0,
Case
When GEMS_CMN_HD1_ABREV.hd1 <>"00"
then " / "
else isnull(HD1_ABR,'')
end
于 2013-03-19T19:31:15.763 回答
0

将 " 替换为 ' 并删除 *。将 END 放在 null 之前。为了清楚起见,请使用 (),这也是一种很好的做法:

...(CASE When GEMS_CMN_HD1_ABREV.hd1 <>'00' then ' / ' else HD1_ABR end) As some_alias, null....
于 2013-03-19T19:26:29.477 回答