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!