python - Python 帮助:难以将日期变量传递给 sql
问题描述
尽管这里有类似的问题,但到目前为止,我已经一遍又一遍地尝试了,但都没有成功。
我的 python 脚本将 sql.txt 中的所有 sql 行都放入变量“code”中:
start_time = input("insert[dd-mm-yyyy]:")
code = open(r'Query\sql.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 行以正确地将从 python 脚本获得的变量 start_time 传递给 sql 代码?
解决方案
我会格式化查询(字符串格式化)。
接受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)
推荐阅读
- javascript - 有没有比这种方法更好的方法来实现“输入按键,登录”?
- php - 如何在变量中实例化具有类名的对象?
- c# - 从 DataGridViewRowCollection c# 添加行
- javascript - 动态显示手风琴,单击时第一个手风琴打开和关闭前一个手风琴
- python - 使用 admin django 中的方法显示自定义字段集字段
- vue.js - 在移动浏览器中滑动/放大/缩小时,Vuetify @click 不起作用,我不确定它是什么手势
- kubernetes - Kubernetes 扇出入口,但根域为客户端提供服务
- laravel - laravel 如何使用变量使用高级连接子句连接三个表
- android - W/StaticLayout:maxLineHeight 不应为 -1。最大行数:1 行数:1
- css - Nuxtjs nuxt-link 未在悬停时显示为指针