2010-12-29 1 views
5

Ich muss abrufen, was ist das aktuelle Datum und Uhrzeit für die Datenbank Ich bin verbunden mit SQLAlchemy (nicht Datum und Uhrzeit der Maschine, auf der ich Python-Code ausführen). Ich habe diese Funktionen gesehen, aber sie scheinen nicht zu tun, was sie sagen:Wie bekomme ich aktuelles Datum und Uhrzeit von DB mit SQLAlchemy

>>> from sqlalchemy import * 
>>> print func.current_date() 
CURRENT_DATE 
>>> print func.current_timestamp() 
CURRENT_TIMESTAMP 

Darüber hinaus scheint es, sie nicht zu einer SQLAlchemy Sitzung oder Motor binded werden müssen. Es macht keinen Sinn ...

Danke!

Antwort

4

Ich foud die Lösung: diese Funktionen können nicht in der Art verwendet werden, die ich verwendete (print...), aber innerhalb des Codes aufgerufen werden muss, der mit der Datenbank interagiert. Zum Beispiel:

print select([my_table, func.current_date()]).execute() 

oder einem Feld in einer Einfügeoperation zugewiesen werden. Versehentlich entdeckte ich, dass zumindest ein paar Parameter für diese Funktionen vorhanden:

  • type_, die den Typ des Wertes angibt zurückzukehren, ich denke,
  • bind die
  • eine Bindung an einen SQLAlchemy Motor zeigt

Zwei Anwendungsbeispiele:

func.current_date(type_=types.Date, bind=engine1) 
func.current_timestamp(type_=types.Time, bind=engine2) 

auf jeden Fall scheint meine Tests diese pa zu sagen Rameter sind nicht so wichtig.