Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Konvertierung beim Konvertieren von Datum und/oder Uhrzeit aus Zeichenkette fehlgeschlagen

Sie müssen Ihre ORDER BY in mehrere CASE Anweisungen:

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

Dies liegt daran, dass einzelner CASE -Anweisung erfordert, dass alle Zweige kompatible Datentypen haben. Da Ihre Zeichenkette in einem CASE kann nicht in die Datumszeit konvertiert werden, die von einem anderen CASE zurückgegeben wird , erhalten Sie den Konvertierungsfehler.