select * from ( select b.name, cast( convert(datetime, dateadd(day, 1-day(b.date), b.date), 20) as varchar) as dt1, cast( convert(datetime, dateadd(month, 1, dateadd(day, 1-day(b.date),b.date)) - 1, 20) as varchar) as dt2 from battles b ) tt ----------- uadalcanal Nov 1 1942 12:00AM Nov 30 1942 12:00AM North Atlantic May 1 1941 12:00AM May 31 1941 12:00AM North Cape Dec 1 1943 12:00AM Dec 31 1943 12:00AM Surigao Strait Oct 1 1944 12:00AM Oct 31 1944 12:00AM