Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Falha na conversão ao converter data e/ou hora da string de caracteres


Você precisará dividir seu ORDER BY em vários CASE declarações:
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

Isso ocorre porque um único CASE A instrução requer que todas as ramificações tenham tipos de dados compatíveis. Como sua cadeia de caracteres em um CASE não pode ser convertido para a data e hora retornada de outro CASE , você obtém o erro de conversão.