Saat melakukan pengurutan dinamis, saya sarankan menggunakan separate klausa:
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)
Ini menjamin bahwa Anda tidak akan mengalami masalah yang tidak terduga dengan konversi tipe, jika kolom memiliki tipe yang berbeda. Perhatikan bahwa case
kembalikan NULL
tanpa else
klausa.