• It's worth mentioning that having a function like that on the ORDER BY can prevent index use. Depending on the size of the data set and the complexity of the rest of the query, while that function provides flexibility, it could seriously kill performance. A structural solution such as having a sorting column is a fairly standard approach and not (in my, admittedly, not worth anything more than anyone else's, opinion) an example of over-normalization.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning