Matti Maekitalo: MySQL WHERE oder ORDER BY Klausel mit Berechnung möglich???

Beitrag lesen

Tach auch.

nochmal zu der if abfrage, kann ich das auch in die ORDER BY klausel
auslagern??

Nein.

Wieso nicht? Wenn man da Funktionen wie RAND() verwenden kann, warum sollte da ein IF() nicht gehen? Zumal ein gültiger Wert für das ORDER-BY-Argument ein Spaltenname, ein Ausdruck(!) oder eine Positionsnummer ist.

Da muss man aber ein wenig auf die MySQL Version achten.
Ich durfte Montag etwas auf einer MySQL 5.0.26 (die ursprüngliche Version auf einem SLES10) ausrollen, und da hatte ich Probleme mit

  
SELECT  
  irgendeinausdruck AS created -- Datentyp DATETIME  
FROM blah  
ORDER BY IFNULL(created, '2100-01-01 00:00:00') -- Q&D: die ohne created Zeitstempel nach hinten sortieren  

Hatte nun leider nicht die Gelegenheit, lange den Fehler zu suchen (der eigentliche Fehler bestand eh darin auf einer anderen MySQL Version zu testen als auszurollen, auch wenn zwischen 5.0.26 und 5.0.51 nur die Minor-Nummer geändert wurde), sondern hab das Statement einfach umgeschrieben.

Bis die Tage,
Matti