2016-02-25 77 views
1

我在查詢中放入了兩個參數; [A_from]和[A_to]來決定數據集中的某個值。SSRS中對數據集的SQL查詢

這兩個參數都允許Null/empty,並且參數值按照下面的參數更改。 如何爲此編寫查詢? (試過case語句,但不起作用。)

Input)     Output) 
A_From and A_To  some Value Between A_From And A_To 
Only A_From   some value >= A_From 
Only A_To    some value <= A_To 
Both NULL    * (all) 

回答

0

由於攀比null總是產生false,您可以使用此:

select * 
from my_table t 
where 
    (t.value >= A_From and t.value <= A_To) or 
    (t.value >= A_From and A_To is null) or 
    (A_From is null and t.value <= A_To) or 
    (A_From is null and A_to is null) 
+0

謝謝您的幫助。我剛剛嘗試過,但它沒有返回任何內容,當我輸入Only A_from並且都是null(應該返回t.value的所有值) –

+0

@Kitty_jp:我不確定你的意思是「input Only A_from and both both空值」。你指的是表中的「value」字段的值還是參數?如果你只是在討論參數,那麼這個陳述是矛盾的。 'value'字段也可以是'null'嗎?如果是這樣,那排是否匹配? –

+0

對不起,我的英語。我的意思是,當我在參數A_From中輸入一些值時,它什麼都不返回,但是什麼都不輸入給A_To。另外,當我給這兩個參數爲空值時,它什麼也不返回。 –