Ein Order By erlaubt meines Wissens nach keine Ausdrücke mehr sondern bezieht sich immer auf die Ergebnisfelder.
Also, wenn man dynamische Sortierung benötigt, dann ein berechnetes Feld bilden und danach dann sortieren:

select ..... Ausdruck as OrderByAusdruck
from ....

order by OrderByAusdruck