!--a11y-->
Converting Date and Time Values 
The sdb.dbapi module implements the functions that are recommended in the Python Database API specifications v2.0 for the conversion of date and time values.
Converting Python values -> MaxDB values
Function |
Return Value |
Date (year, month, day) |
String that can be used anywhere where the database system expects an input value for an SQL data type DATE |
Time (hour, minute, second) |
String that can be used anywhere where the database system expects an input value for an SQL data type TIME |
Timestamp (year, month, day, hour, minute, second, micros = 0) |
String that can be used anywhere where the database system expects an input value for an SQL data type TIMESTAMP |
DateFromTicks (ticks) |
String that can be used anywhere where the database system expects an input value for an SQL data type DATE |
TimeFromTicks (ticks) |
String that can be used anywhere where the database system expects an input value for an SQL data type TIME |
TimestampFromTicks (ticks) |
String that can be used anywhere where the database system expects an input value for an SQL data type TIMESTAMP |
Converting MaxDB values -> Python values
Function |
Return Value |
dateTuple |
(year, month, day) |
timeTuple |
(hour, minute, second) |
timestampTuple |
Tuple in the same format as the return value for time.localtime () |
dateVal |
Number of seconds since epoch |
timeVal |
Number of seconds since epoch |
timestampVal |
Number of seconds since epoch |
DateFormat (formatString) |
Date formatted according to time.strftime |
TimeFormat (formatString) |
Time formatted according to time.strftime |
TimestampFormat (formatString) |
Timestamp formatted according to time.strftime |
For more information, see the Python documentation at www.python.org.
Registering conversion functions with a cursor or connection object
Callable Object |
Description |
cursor.setTranslation ([ None, sdb.dbapi.dateTuple, sdb.dbapi.DateFormat('%Y-%m-%d')]) |
You transfer a list in which you specify a function for data conversion for every column. If no data conversion is to be performed for a column, then transfer the None object at the position of the column in question. |
cursor.setTypeTranslation ({ 'Date': sdb.dbapi.dateTuple, 'Time': sdb.dbapi.timeTuple, 'Fixed':str}) |
You transfer a dictionary. As the key you enter the same type name as output by the method sdb.sql.SapDB_ResultSet.getDescription. As values, enter the functions for data conversion. The system uses these functions for all columns of a certain SQL data type. |
connection.setTypeTranslation ({ Date': sdb.dbapi.dateTuple, 'Time': sdb.dbapi.timeTuple, 'Fixed':str})‑{}‑ |
You transfer a dictionary, that has the same structure as the parameter for cursor.setTypeTranslation. For every newly created Cursor object you call the method setTypeTranslation with the dictionary as parameter. |
For more information, see www.python.org.
