Мне нужно вставить метку времени с миллисекундами в таблицу Oracle с Python 3.6 и cx_Oracle 6.4.1. Вставка сделана хорошо, но я теряю миллисекунды в пути.
Отметка времени передается как объект datetime. Любые идеи, как я мог бы сохранить миллисекунды, не делая to_timestamp () в самом SQL? Я хотел бы передать дату и время в транзакции SQL. Я использую executemany (), так как идея состоит в том, чтобы вставлять несколько записей одновременно.
import cx_Oracle
import datetime
conf = {
'username': 'USERNAME',
'password': 'PASSWORD',
'tns': 'TNS'
}
d = datetime.datetime.now()
print(d)
db_conn = cx_Oracle.connect(conf['username'], conf['password'], conf['tns'], encoding='UTF-8', nencoding='UTF-8')
cursor = db_conn.cursor()
sql_insert = "INSERT INTO {} VALUES {}".format('timestamp_test', '(:1)')
cursor.prepare(sql_insert)
cursor.executemany(None, [[d]])
db_conn.commit()
![enter image description here](https://i.stack.imgur.com/BXdr0.jpg)
![enter image description here](https://i.stack.imgur.com/wBcKv.jpg)