Code: Select all
SELECT @Date AS TheDate,
DATENAME(weekday, @Date) + ' ' +
CONVERT(VARCHAR(2), DATEPART(day, @Date)) + '' +
CASE WHEN DATEPART(day, @Date) IN (1,21,31) THEN 'st'
WHEN DATEPART(day, @Date) IN (2, 22) THEN 'nd'
WHEN DATEPART(day, @Date) IN (3, 23) THEN 'rd'
ELSE 'th' END + ' ' +
DATENAME(month, @Date) + ' ' +
CONVERT(VARCHAR(10), DATEPART(year, @Date)) AS TheLongDate