Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Conversione non riuscita durante la conversione di data e/o ora dalla stringa di caratteri

Dovrai dividere il tuo ORDER BY in più CASE dichiarazioni:

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

Questo perché un singolo CASE istruzione richiede che tutti i rami abbiano tipi di dati compatibili. Dal momento che la tua stringa di caratteri in un CASE non può essere convertito nella data e ora restituita da un altro CASE , viene visualizzato l'errore di conversione.