回答編集履歴
1
ed
answer
CHANGED
@@ -1,2 +1,16 @@
|
|
1
1
|
今回のように入力内容によって検索条件が変わる場合、SQLでどうにかするものではなく、アプリケーション側で入力内容によって動的にSQL文を構成して渡すものと思います。
|
2
|
-
DBは受け取ったSQLの実行結果を返すだけ。
|
2
|
+
DBは受け取ったSQLの実行結果を返すだけ。
|
3
|
+
|
4
|
+
> それによって挙動が変わっている可能性はあるでしょうか。
|
5
|
+
|
6
|
+
はい。SQL自体は利用するDBやバージョンによって方言の違いが結構あります。
|
7
|
+
文法自体は各DBのリファレンス、ドキュメントを参照してください。
|
8
|
+
https://learn.microsoft.com/ja-jp/sql/t-sql/queries/where-transact-sql?view=sql-server-ver16
|
9
|
+
https://learn.microsoft.com/ja-jp/sql/t-sql/language-elements/case-transact-sql?view=sql-server-ver16
|
10
|
+
※バージョンなどは自身が利用しているものに置き換えてください
|
11
|
+
|
12
|
+
参考になるか分からないですが、SQLServerでWhereにてCaseを使う記事もあるようです。
|
13
|
+
https://www.dbsheetclient.jp/blog/?p=2211
|
14
|
+
|
15
|
+
※提示SQLの明らかな間違いとしては「CASEに対するENDがない」あたりでしょうか。
|
16
|
+
|