Hallo, habe mir im Firefox SQLITE-Manager folgende Tabelle angelegt: CREATE TABLE "persalter" ("nr" INTEGER PRIMARY KEY NOT NULL , "nname" VARCHAR, "vname" VARCHAR, "gebtag" DATETIME) Soweit OK, keine Probleme, auch nicht mit dem Format DATETIME. Mit SELECT strftime('%Y', 'now') bekomme ich die Jahreszahl 2016 gezeigt. Bei SELECT strftime('%Y', 'gebtag') from persalter kommt nix, egal in welchem Format ich das Datum in der Tabelle eingebe (01.01.1966, 1966-01-01, 01/01/1966...). Brauche das, um das Alter der Person anzuzeigen. Hat Jemand nen Tipp??? Danke sagt Otto
Nur mal geraten: SELECT gebtag,strftime('%Y', 'gebtag') from persalter;
Ups, so: SELECT gebtag,strftime('%Y', gebtag) from persalter;
Die Datenbank enthält aber gültige Werte und ist geöffnet? Funktioniert das SELECT für die anderen Einträge?
Jaja, allos OK, es scheint am Format DATETIME zu liegen. Bzw. daran wie die Werte und Trennzeichen angeordnet sind.
Ich habe es auch mal probiert. 2013-01-01 funktioniert auf Ubuntu 14.04
OK, bin verblüfft! hab gedoktert, was das Zeugs hielt, war wohl in der Abfrage nen Fehler drin, nutze Raspberry 3 Jessie, Iceweasel 38.x Aber Danke, funktioniert!!!
Im SQLITE-DAtabase Browswer, der beim Anlegen der Tabellen gar kein DATETIME kennt, gehts auch,
1 | SELECT strftime('%Y', 'gebtag') FROM persalter; -- nur ein String |
2 | SELECT strftime('%Y', gebtag) FROM persalter; -- Wert in der Spalte |
Otto Bauer schrieb: > der beim Anlegen der Tabellen gar kein DATETIME kennt Gibt es auch nicht: http://www.sqlite.org/datatype3.html Wenn du für den Spalten-Typ einen Namen wie DATETIME oder FLUFFY BUNNIES benutzen willst, kannst du das CREATE TABLE auch per Hand ausführen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.