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

" を ' に置き換え、* を削除します。null の前に END を置きます。明確にするために () を使用します。これも良い方法です。

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

私が正しければNULL、あなたは を置き換えようとしています。試してみてください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 に答える