You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Python主脚本向外部SQL文件注入动态日期参数?

解决方法

1. 改造SQL文件为模板格式

把MyQuery.sql中的硬编码日期替换成占位符{today_date},保留单引号适配SQL语法:

SELECT * from my_table WHERE
  date >= '{today_date}'

2. 在Python脚本中替换占位符

读取SQL文件内容后,用字符串的format()方法将占位符替换为当日日期:

from datetime import date

today_date = date.today()

with open('MyQuery.sql', 'r') as rawSQL:
    sql_template = rawSQL.read()

# 生成最终可执行的SQL字符串
sql = sql_template.format(today_date=today_date)

补充说明

  • 这种方式无需正则匹配,靠模板占位符实现精准替换,可读性和维护性更强。
  • date.today()返回的日期对象会自动转换为YYYY-MM-DD格式的字符串,完全符合SQL的日期格式要求。
  • 如果后续需要替换多个变量,只需在SQL模板中添加对应占位符(比如{start_date}、{end_date}),并在format()方法中传入对应参数即可。

内容的提问来源于stack exchange,提问作者Mako212

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 05:01:02