SWITCH
複雑なステートメントを書きたいSQL (SQL Server 2008 R2)
WHERE
目標は、ステートメントに次のようなものを書くことです。
- の場合
myParam = 0
、 (0 は「未定義」を意味するため、ステートメントmyColumn = myColumn
を「無視」します)WHERE
- なら
0 < myParam < 6
、myColumn = myParam
- なら
myParam >= 6
、myColumn = [6 ; Infinity]
だから私は書いた:
WHERE
h.MyColumn = CASE @MyParam
WHEN 0 THEN h.MyColumn
WHEN @MyParam > 0 AND @MyParam < 6 THEN @MyParam
WHEN @MyParam > 6 THEN /* ??? */
まず、私は順調ですか?もしそうなら、どうすれば3番目を書くことができWHEN
ますか? @MyParam
は 0、1、2、3、4、5、または 6 にのみ等しくなり、最後のケースでは、データを選択する必要がありますh.MyColumn > 6
。
どんな助けでも感謝します!ありがとうございました