Quando si esegue un ordinamento dinamico, consiglio di utilizzare separato clausole:
order by (case when in_sort_column = 'col1' then col1 end),
(case when in_sort_column = 'col2' then col2 end),
(case when in_sort_column = 'col3' then col3 end)
Ciò garantisce che non si verificheranno problemi imprevisti con la conversione del tipo, se le colonne sono di tipo diverso. Nota che case
restituisce NULL
senza un else
clausola.