• DATENAME() is fine for SQL Server 2005 and later. However the article stated that it was for SQL Server 2000 so is of use to those of us working on legacy systems where the built-in function is not available.

    It is an "expensive" function but, if used sensibly solely for reporting/presentation, the overhead should not be prohibitive.