Select
cast(floor(cast( getdate() as float) ) as datetime) Today
, cast(floor(cast( getdate() + 1 as float) ) as datetime) Tomorrow
, cast(floor(cast( getdate() - day(getdate()) as float) ) as datetime) LastOfPrevMonth
, cast(floor(cast( getdate() - day(getdate()) + 1 as float) ) as datetime) FirstOfThisMonth
, cast(floor(cast(dateadd("M",1 ,getdate() - day(getdate()) + 1) - 1 as float) ) as datetime) LastOfThisMonth
, cast(floor(cast(dateadd("M",1 ,getdate() - day(getdate()) + 1) as float) ) as datetime) FirstOfNextMonth
, cast(floor(cast(dateadd("M",-Month(getdate()) + 1 ,getdate() - day(getdate()) + 1) - 1 as float) ) as datetime) LastOfPrevYear
, cast(floor(cast(dateadd("M",-Month(getdate()) + 1 ,getdate() - day(getdate()) + 1) as float) ) as datetime) FirstOfThisYear
, cast(floor(cast(dateadd("M",-Month(getdate()) + 1 + 12,getdate() - day(getdate()) + 1) - 1 as float) ) as datetime) LastOfThisYear
, cast(floor(cast(dateadd("M",-Month(getdate()) + 1 + 12,getdate() - day(getdate()) + 1) as float) ) as datetime) FirstOfNextYear
, cast(floor(cast(dateadd("M",-Month(getdate()) + 1 + (cast(month(getdate()) / 4 as integer) ) * 3,getdate() - day(getdate()) + 1) as float) ) as datetime) FirstOfThisQuarter
, cast(floor(cast(dateadd("M",-Month(getdate()) + 1 + (cast(month(getdate()) / 4 as integer) + 1) * 3,getdate() - day(getdate()) + 1) - 1 as float) ) as datetime) LastOfThisQuarter