Thomas Robitaille wrote: > Hi, > > I'm trying to use DB API compliant database modules > (psycopg2,MySQLdb,SQLite) to access SQL databases, and I am trying to > determine the type of each column in a table. The DB API defines > cursor.description which contains information about the column names and > types (once .execute() has been used to select part or all of the table), > but the types are expressed as integers. I realize that these numbers can be > checked against the type objects such as MySQLdb.NUMBER to determine whether > a given column is a number, a date, text, etc. However, is there any way to > determine what the sub-type of a column is, for example if a column is a > NUMBER, is there a way to determine if it is a 2, 4, or 8-byte integer or > real number?
Not with the DB-API. You'll have to implement all this for each database separately. For some databases (like SQLite) it's even impossible. I suggest you don't bother with cursor.description at all. Depending on it doesn't harmonize with the way Python is typically used: duck typing. -- Gerhard -- http://mail.python.org/mailman/listinfo/python-list