ORDER: NULL soll hinten stehen
Kalle_B
- datenbank
Hallöle,
mySQL 4
habe Datensätze mit einem Nachfass-Datum, das auch NULL sein darf.
Nun möchte ich die Sätze nach Datum sortieren. Die ohne Datum sollen aber hinten stehen.
Gibt es ein ORDER, bei dem NULL zum größten Wert erklärt wird?
Gruß, Kalle
Hallo Kalle,
mySQL 4
Du meinst MySQL 4.1.9? *g*
Nun möchte ich die Sätze nach Datum sortieren. Die ohne Datum sollen aber hinten stehen.
Gibt es ein ORDER, bei dem NULL zum größten Wert erklärt wird?
Füge eine berechnete Spalte mit ISNULL() hinzu:
SELECT
<sonstige Spalten>,
datumsspalte,
-- ISNULL liefert 1 bei NULL-Werten in der Datumsspalte
-- und 0 bei vorhandenen Datumswerte
[link:http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#id3033485@title=ISNULL](datumsspalte) AS sortierung
-- sortiere zuerst nach der berechneten Spalte aufsteigend,
-- so kommen die Datensätze mit den NULL-Werten automatisch ans Ende
ORDER BY sortierung, datumsspalte
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
Füge eine berechnete Spalte mit ISNULL() hinzu
Das klappt einwandfrei, danke.
Allerdings - wenn ich ein Datum wieder löschen will, geht es nicht auf NULL zurück, sondern auf 0000-00-00, trotz Felddefinition
nachfass
date default NULL,
versucht habe ich
set ... nachfass = 'NULL'
und
set ... nachfass = ''
Hast du da noch einen Tipp?
Gruß, Kalle
Hallo Kalle,
Das klappt einwandfrei, danke.
prima. Freut mich.
Allerdings - wenn ich ein Datum wieder löschen will, geht es nicht auf NULL zurück, sondern auf 0000-00-00, trotz Felddefinition
nachfass
date default NULL,
Das wirkt nur beim INSERT.
versucht habe ich
set ... nachfass = 'NULL'
Hier versuchst Du den Wert auf die Zeichenkette 'NULL' zu setzen ...
set ... nachfass = ''
... und hier auf die leere Zeichenkette. Beides ist nicht NULL. Auch die Zahl 0 ist nicht NULL. Ganz einfach
SET nachfass = [link:http://dev.mysql.com/doc/refman/5.0/en/null-values.html@title=NULL]
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
SET nachfass = [link:http://dev.mysql.com/doc/refman/5.0/en/null-values.html@title=NULL]
Danke, klappt.
Gruß, Kalle