SQLで入力されたバインド変数の値によってWHERE句での条件の取り方を変えたいのですが、実現方法が分かりません。 例えばバインド変数=1の時はカラムA=0のものを条件とし、バインド変数=2の時はカラムA>0のものを条件として当てはめたいです。 where句の中にcase文を作り、case when バインド変数= 0 Then カラムA = 0とすると「キーワードがありません」と言われてしまい、どうすればいいか分かりません。

Oracle | SQL Server969閲覧

ベストアンサー

この回答はいかがでしたか? リアクションしてみよう

その他の回答(1件)

バインド変数はそれがバインド変数である事を示す為、頭に記号の:や$を付けているはずです確認して下さい。尚、CASE文は値を返すように書く必要が有るので、「Then カラムA = 0」は文法的におかしいです「then カラムA」または「then 0」のどちらかに成ります、又、CASE文は最後はendで終わります。