sql >> Databasteknik >  >> RDS >> Sqlserver

Konverteringen misslyckades vid konvertering av datum och/eller tid från teckensträng

Du måste dela upp din ORDER BY i flera CASE uttalanden:

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

Detta beror på att enstaka CASE uttalandet kräver att alla grenar har kompatibla datatyper. Eftersom din teckensträng i en CASE kan inte konverteras till datum och tid som returneras från ett annat CASE , får du konverteringsfelet.



  1. Få en mysql-felkod:1265. Data trunkeras för kolumn när du gör en LADDA DATA LOKAL INFIL

  2. Skydda kolumn, tillåt inte uppdatering, tillåt bara infogning om NULL i MySQL

  3. MySQL-relationer

  4. Välj * från tabellen där datum =idag