SQLite3 nach Datum sortieren, zusammenfassen von querys
Jan
- datenbank
0 Vinzenz Mai0 Jan
Hallo zusammen,
ich möchte gerne Datumswerte aus einer Spalte des Typs DATE sortieren, was aber nicht so klappt wie ich mir das vorstelle.
Folgendermaßen bin ich vorgegangen:
CREATE TABLE test(id INTEGER PRIMARY KEY,datum DATE);
INSERT INTO test VALUES(NULL,"28.06.1998")
usw...
SELECT datum FROM test ORDER BY "datum"
liefert:
01.03.1995
12.01.2000
12.12.2009
13.01.2007
27.09.1998
28.06.1998
Wie kann man die Daten korrekt mithilfe eines Querys sortieren?
Und wenn ich schonmal beim Fragen bin, wie kann ich Querys zusammenfassen? Wie oben beschrieben habe ich die sechs Datumswerte getrennt hintereinander eingetippt. Gibt es eine Mehthode um soetwas zusammenzufassen?
Gruß,
Jan
Hallo,
ich möchte gerne Datumswerte aus einer Spalte des Typs DATE sortieren, was aber nicht so klappt wie ich mir das vorstelle.
SQLite kennt keinen Datentyp DATE.
Folgendermaßen bin ich vorgegangen:
CREATE TABLE test(id INTEGER PRIMARY KEY,datum DATE);
INSERT INTO test VALUES(NULL,"28.06.1998")
ungeeignetes Datumsformat. Warum nimmst Du nicht YYYY-MM-TT (wobei - für ein beliebiges, aber festes Trennzeichen steht, am besten der Bindestrich :-)
SELECT datum FROM test ORDER BY "datum"
liefert:
01.03.1995
12.01.2000
12.12.2009
13.01.2007
27.09.1998
28.06.1998Wie kann man die Daten korrekt mithilfe eines Querys sortieren?
Wenn SQLite keine Stringfunktionen hat, gar nicht. Schreibe sie wie von mir empfohlen, und Sortieren ist kein Problem.
Und wenn ich schonmal beim Fragen bin, wie kann ich Querys zusammenfassen? Wie oben beschrieben habe ich die sechs Datumswerte getrennt hintereinander eingetippt. Gibt es eine Mehthode um soetwas zusammenzufassen?
Wenn diese Werte nicht in einer Tabelle stehen, gar nicht, siehe INSERT-Syntax: entweder INSERT eines einzelnen Datensatzes oder mehrere Datensätze über INSERT ... SELECT. Du siehst am Syntaxdiagramm, dass es nicht wie MySQL eine kommaseparierte Liste von Wertlisten erlaubt, sondern genau eine Wertliste für einen Datensatz. Das ist normal. Alternativ zu *einer* Wertliste für *einen* Datensatz kannst Du ein SELECT-Statement nehmen. In diesem Fall werden soviele Datensätze eingefügt, wie das SELECT-Statement liefert. Das können auch 0 Datensätze sein, was kein Fehler ist.
Freundliche Grüße
Vinzenz
Das mit der YYYY-MM-TT formatierung gefällt mir ausgezeichnet, danke für den tipp. Restlich Fragen auch geklärt.
Danke und schönen Abend noch.