Я создаю динамический c оператор обновления на основе значений из dict.
dict1 = {"name": "Test name",
"id": 100,
"location": "",
"custom": "01/01/2020"}
print(dict1)
print()
dict2 = {}
func1 = 'to_date({}, "dd/mm/yyyy")'
for k, v in dict1.items():
if k == 'custom':
v = func1.format(f'"{v}"')
dict2[k] = v
print(dict2)
{'name': 'Test name', 'id': 100, 'location': '', 'custom': 'to_date("01/01/2020", "dd/mm/yyyy")'}
словарь построен, как и ожидалось, потому что func1 определяется как строка. Однако я пытаюсь увидеть, есть ли способ изменить 'to_date ("01/01/2020", "dd / mm / yyyy")' , хранящийся в dict как to_date (" 01.01.2020 "," дд / мм / гггг ") без одинарных кавычек (не строка)
Я использую это значение при дальнейшей обработке до oracle с использованием cx_ oracle. Оператор обновления будет выдавать ошибку 'ORA-01858: был обнаружен не числовой символ c, где ожидалось числовое значение c
update table1 set dt='to_date("01/01/2020", "dd/mm/yyyy")' where x=y
Любые предложения быть полезным.