pd.read_sql Неправильное чтение определенных дат из базы данных Oracle - PullRequest
0 голосов
/ 14 марта 2019

РЕШЕНИЕ. Недавно я изменил свое соединение ODBC на производственную базу данных, но не отразил это в строке соединения Python, поэтому запрашивал неверную базу данных.К сожалению!


При запросе БД Oracle из панд, он корректно возвращает большинство дат и неправильно возвращает одну.Тип БД - [ДАТА].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 ноль.Дата 15.04.2009 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(), он правильно читает дату.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...