Я использую pyodb c для получения данных с SQL Сервера, используя скрипт, показанный здесь:
conn = pyodbc.connect('DSN=DATASOURCE')
tbl = "SELECT TableA.Field_1 \
FROM TableA \
WHERE TableA.Date>=2019/04/01"
SQL_Query = pd.read_sql_query(tbl, conn)
conn.close
Теперь я хочу превратить этот запрос в функцию Python, где я могу изменить дату (2019/04/01) в приведенном выше примере в качестве переменной функции.
Я обнаружил, что pyodb c предлагает параметризацию , но все в контексте функции cursor.execute
.
В идеале я хотел бы создать такую функцию:
def DB_Query(date):
conn = pyodbc.connect('DSN=DATASOURCE')
tbl = "SELECT TableA.Field_1 \
FROM TableA \
WHERE TableA.Date>=?", date
SQL_Query = pd.read_sql_query(tbl, conn)
conn.close
return SQL_Query
Очевидно, это не работает, потому что tbl
должна быть нормальной строкой, но возможно ли использовать функцию параметризации pyodb c вместе с pandas 'pd.read_sql_query
или pd.read_sql
?