私はいくつかのパラメータを含むクエリを持っています。引数の評価に基づいて異なるパラメータで同じクエリを実行する
別のパラメータセットがnullの場合は、1組のパラメータを使用してクエリを実行する必要があります。
条件付きでステートメントを繰り返さずにこれを行う別の方法はありますか?例えば
:上記の方法と別のステートメントの評価句でPROCをprocの中でクエリを入れて呼び出すことから離れて、これを実行する方法は他に
USE MYDataBase;
GO
DECLARE @Argument1 VARCHAR = 1234;
DECLARE @Argument2 VARCHAR = 'HELLO WORLD';
IF @Argument1 IS NULL
SELECT * FROM MyTable
WHERE ColumnValue = @Argument1
ELSE
SELECT * FROM MyTable
WHERE ColumnValue = @Argument2
ありますか?
たとえば、次のような場合にこれがどのように機能するかを表示します。申し訳ありませんが、私は例を単純にしておきたいと思いました。例の単純さを考えれば、あなたのアプローチはうまくいくでしょう。 – Altitude
申し訳ありません - 私はあなたが "両サイド"で何を意味するのか分かりません。引数が多い場合は、coalesce(Arg1、Arg2、Arg3、Arg4、...、ArgN)を追加したままにしておきます。 [MSのドキュメント](https://docs.microsoft.com/en-us/sql/t-sql/language-elements/coalesce-transact-sql)を見てください。 – Brett