Musisz podzielić ORDER BY
na wiele CASE
oświadczenia:
ORDER BY
CASE WHEN @orderby = 0 THEN news_edits.[time] END DESC,
CASE WHEN @orderby = 1 THEN news_edits.lastedit END DESC,
CASE WHEN @orderby = 2 THEN news_edits.title END DESC
Dzieje się tak, ponieważ pojedynczy CASE
oświadczenie wymaga, aby wszystkie gałęzie miały zgodne typy danych. Ponieważ twój ciąg znaków w jednym CASE
nie można przekonwertować na datę i godzinę zwróconą z innego CASE
, pojawia się błąd konwersji.