select distinct case when month(Date) between 1 and 3 then cast(year(Date) as varchar) + 'Q1' when month(Date) between 4 and 6 then cast(year(Date) as varchar) + 'Q2' when month(Date) between 7 and 9 then cast(year(Date) as varchar) + 'Q3' when month(Date) between 10 and 12 then cast(year(Date) as varchar) + 'Q4' end as DateFilter, case when month(Date) between 1 and 3 then '1/1/' + cast(year(Date) as varchar) when month(Date) between 4 and 6 then '4/1/' + cast(year(Date) as varchar) when month(Date) between 7 and 9 then '6/1/' + cast(year(Date) as varchar) when month(Date) between 10 and 12 then '9/1/' + cast(year(Date) as varchar) end as FromDate, case when month(Date) between 1 and 3 then '3/31/' + cast(year(Date) as varchar) when month(Date) between 4 and 6 then '6/30/' + cast(year(Date) as varchar) when month(Date) between 7 and 9 then '9/30/' + cast(year(Date) as varchar) when month(Date) between 10 and 12 then '12/1/' + cast(year(Date) as varchar) end as ToDate from news