我在嘗試運行SQL查詢,該查詢將篩選參數中傳遞的值,或者如果參數中的值爲「未指定」,則應返回所有值。基於指定值或未指定的條件篩選
的參數是@station
其可以包含的值'Unspecified', 'Station1', 'Station2', 'Station3'
等
如果參數@station
等於Station1
例如,我想將返回的數據被過濾以僅'Station1'
,然而如果參數@station
等於到'Unspecified'
,那麼返回的數據應包括station1, station2
和所有站點的值。
我使用其他過濾器,因爲這查詢的一部分,這裏是我下面的代碼,它是不工作的最後一行:
where tblRTC.CODE IN ('C1', 'C2', 'C3')
and CAST(tblDET.START_DATE AS Date) >= CAST (@start_date AS Date)
and CAST(tblDET.END_DATE AS Date) <= CAST (@end_date AS Date)
and IIF(@station = 'Unspecified',tblSTACON.DESCRIPTION <>@station,tblSTACON.DESCRIPTION = @station)
我在第三方應用程序寫這和有不能控制傳遞的參數。
任何幫助將不勝感激。
您的語句失敗的原因是'IIF'不是SQL函數。 – SchmitzIT 2014-08-28 10:06:27
@SchmitzIT你是什麼意思? http://msdn.microsoft.com/en-us/library/hh213574.aspx – gotqn 2014-08-28 10:07:09
@gotqn哇。我從來不知道,哈哈。認爲它只是MS Access。 – SchmitzIT 2014-08-28 10:31:58