2010-12-16 19 views
0

Suposeは私がTSQL翻訳

Id | IsActive 
1 | True 
2 | False 

のようなテーブルを持っていると私はアクティブになっているアイテムを検索したい、アクティブではないか、その両方

私は、クエリ

宣言を持っていると思い@ActiveStateビット

Select * from myTableここでIsActive ...

where句私は

if(@ActiveState != null) 
    myTable.IsActive == @ActiveState 
else 
    myTable.ActiveState == true || myTable.ActiveState == false 

のようなものを持っていると思いますが、私は同じでこれを行うための方法を見つけることができませんwhere句

TKS

+2

あなたは何をしようとしているのか言葉にすることができますか?私はあなたのコードに続く問題があります。何か(あなたが与えた例から)がアクティブであるか、アクティブでないか、あるいはその両方ですか? – Ramy

答えて

1
select * from myTable where @ActiveState is null or IsActive = @ActiveState 
1
WHERE myTable.IsActive = @ActiveState OR @ActiveState IS NULL 
1

Where IsActive = IsNull(@ActiveState, IsActive)
または
Where IsActive = Coalesce(@ActiveState, IsActive)