解决方案:我最近将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()
,它会正确读取日期。