以下のクエリのように値をデコードしたい:
select id,
name,
val
from table1
where id in (decode(1,0,0,1,('''4'',''5'',''6''')));
しかし、私はレコードを取得していません(レコードは実際に利用可能です)。のようなデコード機能は機能('''4'',''5'',''6''')
しますか?
試しましたが、動作しませんでした。そうするための代替手段はありますか?
私はあなたが何を求めているのか理解できません。私の最善の推測は、コレクションを返したいということです。たとえば、NUM_TBL
コレクションを定義する場合
CREATE TYPE num_tbl IS TABLE OF NUMBER;
DECODE
次に、数値のコレクションを返すこのようなことを行うことができます
SQL> ed
Wrote file afiedt.buf
1 with x as (
2 select level id
3 from dual
4 connect by level <= 10 )
5 select *
6 from x
7 where id in (select *
8* from table(decode( 1, 0, num_tbl(0), 1, num_tbl(2,3,4) )))
SQL> /
ID
----------
2
3
4