Das Modul sdb.dbapi implementiert die Funktionen, die in der Python Database API Specification v2.0 für die Konvertierung von Datumswerten und -Zeitwerten empfohlen werden.
Konvertierung Python-Werte -> MaxDB-Werte
Funktion |
Rückgabewert |
Date (year, month, day) |
String, der überall dort verwendet werden kann, wo das Datenbanksystem einen Inputwert für einen SQL-Datentyp DATE erwartet |
Time (hour, minute, second) |
String, der überall dort verwendet werden kann, wo das Datenbanksystem einen Inputwert für einen SQL-Datentyp TIME erwartet |
Timestamp (year, month, day, hour, minute, second, micros = 0) |
String, der überall dort verwendet werden kann, wo das Datenbanksystem einen Inputwert für einen SQL-Datentyp TIMESTAMP erwartet |
DateFromTicks (ticks) |
String, der überall dort verwendet werden kann, wo das Datenbanksystem einen Inputwert für einen SQL-Datentyp DATE erwartet |
TimeFromTicks (ticks) |
String, der überall dort verwendet werden kann, wo das Datenbanksystem einen Inputwert für einen SQL-Datentyp TIME erwartet |
TimestampFromTicks (ticks) |
String, der überall dort verwendet werden kann, wo das Datenbanksystem einen Inputwert für einen SQL-Datentyp TIMESTAMP erwartet |
Konvertierung MaxDB-Werte -> Python-Werte
Funktion |
Rückgabewert |
dateTuple |
(year, month, day) |
timeTuple |
(hour, minute, second) |
timestampTuple |
Tupel im selben Format wie der Rückgabewert von time.localtime () |
dateVal |
Anzahl Sekunden seit epoch |
timeVal |
Anzahl Sekunden seit epoch |
timestampVal |
Anzahl Sekunden seit epoch |
DateFormat (formatString) |
Datum formatiert gemäß time.strftime |
TimeFormat (formatString) |
Zeit formatiert gemäß time.strftime |
TimestampFormat (formatString) |
Zeitstempel formatiert gemäß time.strftime |
Weitere Informationen finden Sie in der Dokumentation zu Python, siehe www.python.org.
Registrierung von Konvertierungsfunktionen mit einem Cursor- oder Connection-Objekt
aufrufbares Objekt |
Beschreibung |
cursor.setTranslation ([ None, sdb.dbapi.dateTuple, sdb.dbapi.DateFormat('%Y-%m-%d')]) |
Sie übergeben eine Liste, in der Sie für jede Spalte eine Funktion zur Datenumwandlung angeben. Wenn für eine Spalte kein Datenumwandlung stattfinden soll, dann übergeben Sie an der Position dieser Spalte das None-Objekt. |
cursor.setTypeTranslation ({ 'Date': sdb.dbapi.dateTuple, 'Time': sdb.dbapi.timeTuple, 'Fixed':str}) |
Sie übergeben ein Dictionary. Als Schlüssel geben Sie die gleichen Typnamen an, wie sie die Methode sdb.sql.SapDB_ResultSet.getDescription ausgibt. Als Werte geben Sie Funktionen zur Datenumwandlung an. Diese Funktionen wendet das System auf alle Spalten eines bestimmten SQL-Datentyps an. |
connection.setTypeTranslation ({ Date': sdb.dbapi.dateTuple, 'Time': sdb.dbapi.timeTuple, 'Fixed':str}) |
Sie übergeben ein Dictionary, das so aufgebaut ist wie der Parameter für cursor.setTypeTranslation. Für jedes neu erzeugte Cursor-Objekt rufen Sie die Methode setTypeTranslation mit dem Dictionary als Parameter auf. |
Weitere Informationen finden Sie unter www.python.org.