Creo que quieres poner el between dentro de tu where dependiendo el case o el if correcto?? si es asi lo que te recomiendo es que hagas un query dinamico
Código SQL:
Ver originalDECLARE @query VARCHAR(MAX)
SET @query='select * from tabla where '
IF @condicion=1 THEN
BEGIN
SET @query=@query + '@fecha between fecha1 and fecha2'
END
ELSE
BEGIN
SET @query=@query + '@fecha between fecha3 and fecha4'
END
EXEC Sp_sqlExec @query
Saludos!