teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ed

2022/09/29 07:50

投稿

m.ts10806
m.ts10806

スコア80888

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
+