Невозможно изменить выходную переменную отметки времени в правильном oracle стандартном формате - PullRequest
0 голосов
/ 27 января 2020
cur.execute("select max(insertdate) from iipmdbse.I_SalesOrder")
data = cur.fetchone()
print(data)

Вывод:

(datetime.datetime(2019, 12, 17, 10, 1, 22, 634000),)

Но я хочу вывод в этом формате 17-DEC-19 10.01.22.634000000 AM.

Ответы [ 2 ]

2 голосов
/ 27 января 2020

Во-первых, fetchone () возвращает кортеж значений столбцов, поэтому нам нужно распаковать этот кортеж, чтобы получить insertdate. Далее мы используем datetime.strftime для форматирования даты по своему вкусу.

cur.execute("select max(insertdate) from iipmdbse.I_SalesOrder")
data = cur.fetchone()
insertdate, = data
print(insertdate.strftime('%d-%b-%y %I:%M:%S.%f %p').upper())
0 голосов
/ 27 января 2020

Вам необходимо использовать функцию to_char для форматирования даты и времени в строку символов. Проверьте документ Oracle на to_char

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