Справка по Python: сложность передачи переменной day date в sql

#python #sql

#python #sql

Вопрос:

Несмотря на то, что здесь есть похожие вопросы, я пытался снова и снова, но пока безуспешно.

Мой скрипт на Python загружает в переменную «code» все строки sql из sql.txt:

 start_time = input("insert[dd-mm-yyyy]:")
code = open(r'Querysql.txt', 'r').read()
final = cursor.execute(code).fetchall()
  

В sql.txt код sql выполняется с помощью инструкции OPENQUERY:

 SELECT * FROM OPENQUERY(GATEWAY,'SELECT * FROM meas_table WHERE daytime >= to_date(''13-08-2020 00:00'', ''dd-mm-yyyy HH24:MI'') ')
  

Как я могу изменить строку sql, чтобы правильно передавать переменную start_time, полученную из скрипта python, в код sql?

Ответ №1:

Я бы отформатировал запрос (форматирование строки).

Примите start_time переменную для форматирования вашего запроса.

 SELECT * 
FROM OPENQUERY(GATEWAY,'SELECT * FROM meas_table WHERE daytime >= to_date('{date_here}', ''dd-mm-yyyy HH24:MI'') ')
  
 code.format(date_here=start_time)
  

Комментарии:

1. Спасибо @mustafasencer и marc_s, нет способа заставить ее работать правильно