私はここにクエリを持っていますが、このクエリを書くためのより短い方法があるかどうか興味があります。つまり、クエリがIF
引数を使用して、ステートメントでparamを使用するかどうかを決定することを減らします。下記を参照してください:
@Param varchar(10) = NULL
IF @Param IS NOT NULL
BEGIN
SELECT * FROM TABLE WHERE Column = @Param
END
ELSE
BEGIN
SELECT * FROM TABLE
END
これをこのように1つの単純なクエリに減らすことはできますか?
@Param varchar(10) = NULL
SELECT * FROM TABLE WHERE Column = COALESCE( Any, @Param )
を調べましたが、ある種の機能Coalesce
を使用できるかどうかわかりませんでした。Any
これが理にかなっていることを願っています。
問題は、これをどのように達成するかです。2番目の質問は、どちらがパフォーマンスに優れているかということです。