Обработка динамического запроса sql в Psycopg2 с несколькими условиями WHERE ⇐ Python
-
Гость
Обработка динамического запроса sql в Psycopg2 с несколькими условиями WHERE
Я хочу динамически выполнить запрос sql с несколькими условиями WHERE. запрос такой, как показано ниже
query = """SELECT * FROM UBO_EXCEPTION ГДЕ reg_nb = %s И return_date = %s::date И тип_данных = %s ЗАКАЗАТЬ ПО db_timestamp ПРЕДЕЛ 1""" Метод выполнения запроса приведен ниже:
cursor.execute(запрос, параметр) результат = курсор.fetchall() Пример значения param следующий:
(('00246102', datetime.date(2024, 3, 25), 'UKNI'), ('00246107', datetime.date(2024, 3, 25), 'SH01'), ( '00246109', datetime.date(2024, 3, 25), 'CS01'), ('00246101', datetime.date(2024, 3, 25), '')) Выдает ошибку: - не все аргументы преобразуются при форматировании строки.
Я попробовал внести небольшое изменение в метод, как показано ниже:
cursor.execute(запрос, (параметр,)) результат = курсор.fetchall() Это дало мне: - ошибка кортежа из индекса
Я не уверен, что делать дальше. Любое предложение приветствуется. Спасибо.
Я хочу динамически выполнить запрос sql с несколькими условиями WHERE. запрос такой, как показано ниже
query = """SELECT * FROM UBO_EXCEPTION ГДЕ reg_nb = %s И return_date = %s::date И тип_данных = %s ЗАКАЗАТЬ ПО db_timestamp ПРЕДЕЛ 1""" Метод выполнения запроса приведен ниже:
cursor.execute(запрос, параметр) результат = курсор.fetchall() Пример значения param следующий:
(('00246102', datetime.date(2024, 3, 25), 'UKNI'), ('00246107', datetime.date(2024, 3, 25), 'SH01'), ( '00246109', datetime.date(2024, 3, 25), 'CS01'), ('00246101', datetime.date(2024, 3, 25), '')) Выдает ошибку: - не все аргументы преобразуются при форматировании строки.
Я попробовал внести небольшое изменение в метод, как показано ниже:
cursor.execute(запрос, (параметр,)) результат = курсор.fetchall() Это дало мне: - ошибка кортежа из индекса
Я не уверен, что делать дальше. Любое предложение приветствуется. Спасибо.