Forum: PC-Programmierung SQLITE, Problem mit Datumsformat im Firefox SQLITE-Manager


von Otto Bauer (Gast)


Lesenswert?

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

von N. C. (nixchecker)


Lesenswert?

Nur mal geraten:

SELECT gebtag,strftime('%Y', 'gebtag') from persalter;

von N. C. (nixchecker)


Lesenswert?

Ups, so:

SELECT gebtag,strftime('%Y', gebtag) from persalter;

von Otto Bauer (Gast)


Lesenswert?

Nein, leider nicht...

von N. C. (nixchecker)


Lesenswert?

Die Datenbank enthält aber gültige Werte und ist geöffnet?
Funktioniert das SELECT für die anderen Einträge?

von Otto Bauer (Gast)


Lesenswert?

Jaja, allos OK, es scheint am Format DATETIME zu liegen. Bzw. daran wie 
die Werte und Trennzeichen angeordnet sind.

von N. C. (nixchecker)


Lesenswert?

Ich habe es auch mal probiert.

2013-01-01

funktioniert auf Ubuntu 14.04

von N. C. (nixchecker)


Angehängte Dateien:

Lesenswert?

Der Beweis im Anhang ;)

von Otto Bauer (Gast)


Lesenswert?

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!!!

von N. C. (nixchecker)


Lesenswert?

Bitte.

von Otto Bauer (Gast)


Angehängte Dateien:

Lesenswert?

Im SQLITE-DAtabase Browswer, der beim Anlegen der Tabellen gar kein 
DATETIME kennt, gehts auch,

von Clemens L. (c_l)


Lesenswert?

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
Noch kein Account? Hier anmelden.