pd.read_sql从Oracle DB错误地读取某些日期

时间:2019-03-14 17:41:44

标签: python oracle pandas

解决方案:我最近将ODBC连接更改为生产数据库,但没有在Python连接字符串中反映出来,因此我查询的数据库错误。抱歉!


从熊猫查询Oracle数据库时,它正确地返回了大多数日期,而错误地返回了一个日期。数据库类型为[DATE]。 Pandas df返回datetime64 [ns] dtype。

SQL = """
SELECT date_column
FROM ORACLE_DB
"""
df = pd.read_sql(SQL , connection)
df

当我执行print(SQL)并从Teradata SQL助手运行查询时,我得到3个日期和1个空值。当我执行df时,我得到2个日期和1个null。日期4/15/2019 00:00:00丢失。

我尝试将查询修改为

cast(date_column AS DATE)

to_char(date_column , 'yyyy-mm-dd')

to_char(cast(date_column AS DATE) , 'yyyy-mm-dd')

cast(to_char(FN_TRAVEL_COMPLETION_DATE , 'yyyy-mm-dd') as date)

这些无效。

但是,当我复制结果时,SQL助手将返回csv并执行pd.read_csv(),它会正确读取日期。

0 个答案:

没有答案