我在使用SP的SSRS中有一個@AgentGroup
參數。SQL如何包含和排除空值在where子句中
我想要做的是如果參數傳遞一個值PREPB_STRSTR,NULL
它也會顯示空值。我想在我的where子句中增加一個OR @AgentGroup is null
,但如果參數只傳遞一個值PREPB_STRSTR
它會顯示空數據。
DECLARE @DateTo date = '3/21/2017',
@DateFrom date = '3/21/2017',
@VHGroup nvarchar(max) = 'PREPB_STRSTR,NULL'
SELECT
[AgentIRACGroup]
,[CallOutCallID]
,[CallOutDateTime]
,[OutboundDuration]
,[CallOutNumber]
,[AgentName]
,[CallOutAgentID]
,[AgentGroup]
,[Outcome]
,[TalkTime]
FROM [AgentStatisticsEOD].[dbo].[IRAC_Data]
WHERE CONVERT(Date,[SCBCallDateTimeRequest]) BETWEEN @DateFrom AND @DateTo
AND [AgentGroup] collate database_default in (SELECT value from dbo.FnSplit(@VHGroup,',')) OR [AgentGroup] is null
我的查詢將始終顯示爲空[AgentGroup]
連@Agentgroup
不傳遞空值。
是不是隻是用更高的優先級和w.r.t.問題要麼?我的意思是你不想'AND([AgentGroup] ...或[AgentGroup]爲空)'? –