cx_oracle はまたはタイプdatetime
の列のインスタンスを返しますが、これらの datetime インスタンスはタイムゾーンに対応していません。TIMESTAMP
TIMESTAMP WITH TIME ZONE
例えば:
SELECT column_name, data_type FROM ALL_TAB_COLUMNS WHERE table_name = 'mytable';
column_name data_type
----------- ---------------------------
MYCOL TIMESTAMP(6) WITH TIME ZONE
ご覧のとおり、MYCOL はタイムゾーン対応の TIMESTAMP です。以下は、tzinfo データを含む Python の datetime オブジェクトを返すと思います。でも:
>>> cxoracle_cursor.execute("select mycol from mytable")
>>> row = cx_oracle_cursor.fetchone()
>>> row['mycol']
datetime.datetime(2011, 6, 15, 8, 30)
その日時オブジェクトはタイムゾーンに対応していないため、アプリケーションでこの日付を信頼して使用することはできません。
この列をタイムゾーン対応の日時オブジェクトとして取得する最善の方法は何ですか?