Lesen Sie eine DateTime in SQLite3 zurückPython

Python-Programme
Guest
 Lesen Sie eine DateTime in SQLite3 zurück

Post by Guest »

Ich verwende Python, um eine In-Memory-SQLite3-Datenbank mit einer Zeitstempelspalte zu erstellen. Wenn ich in meiner Abfrage min () oder max () in dieser Spalte verwende, wird die Spalte eher als Zeichenfolge als als Python DateTime -Objekt zurückgegeben. Ich habe eine vorherige Frage zu Stackoverflow gelesen, die eine Lösung für normale Auswahlanweisungen lieferte, aber nicht funktioniert, wenn max () oder min () verwendet wird. Hier ist ein Beispiel: < /p>

>>> db = sqlite3.connect(':memory:', detect_types=sqlite3.PARSE_DECLTYPES)
>>> c = db.cursor()
>>> c.execute('create table foo (bar integer, baz timestamp)')

>>> c.execute('insert into foo values(?, ?)', (23, datetime.datetime.now()))

>>> c.execute('select * from foo')

>>> c.fetchall()
[(23, datetime.datetime(2010, 12, 14, 1, 15, 54, 685575))]
>>> c.execute('select max(baz) from foo')

>>> c.fetchall()
[(u'2010-12-14 01:15:54.685575',)]
< /code>

Ich habe versucht, das Ergebnis in einen Zeitstempel zu geben, aber es gibt nur das Jahr zurück: < /p>

>>> c.execute('select cast(max(baz) as timestamp) from foo')

>>> c.fetchall()
[(2010,)]
< /code>

Gibt es eine Möglichkeit, ein ordnungsgemäßes DateTime -Objekt abzurufen, ohne die Zeichenfolge manuell mit DateTime zu konvertieren.Strptime () nach dem Abrufen? < /p>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post