2017-02-20 35 views
1

ブールチェックが真である場合、WHEREステートメントにチェックを追加できますか?WHERE文に追加チェックを追加

SELECT * FROM Employee WHERE (CASE WHEN ID = 1 THEN EmployeeName = @Name) 

この例はうまくいきませんが、私は何をしたいのかわかります。

+0

ではなく、ケースをスキップ使用AND/OR。 – jarlh

+0

あなたがそこでやろうとしていることは本当にわかりません。 – David

+0

どのDBMSを使用していますか? Postgres?オラクル? –

答えて

2

あなたは論理演算子でこの動作をエミュレートすることができます

SELECT * 
FROM Employee 
WHERE id <> 1 OR EmployeeName = @Name 
+0

この場合、最初のfalse秒はチェックされません。本当? – mojo

+0

@mojoこれは、使用している[タグ:rdbms]の実装によりますが、半分程度のデータベース(そして経験したことのあるデータベース)で評価を短絡する必要があります。 。 – Mureinik

+0

お返事ありがとうございます。 – mojo

関連する問題