gpt4 book ai didi

python - PyMySql 更改 SQL 查询中的日期范围

转载 作者:太空宇宙 更新时间:2023-11-03 17:09:21 27 4
gpt4 key购买 nike

我想查看过去 7 天的数据,因此生成了值:

from_date = str(date.today() - timedelta(7))
to_date = str(date.today()

这样我就可以使用 PyMySql 进行查询,例如:

data = """SELECT * FROM table WHERE date > 'from_date' AND date < 'to_date'"""
db_conn = pymysql.connect(host=xxx, user=xxx, password=xxx)
df = pd.read_sql(data, con=db_conn)

这不起作用,我尝试在 from_date 和 to_date 周围使用不同的引号来尝试执行此操作。在 PyMySql 中引用此内容的最佳方式是什么?

最佳答案

您需要通过 query parameters 将变量值传递到查询中:

data = """SELECT * FROM table WHERE date > %s AND date < %s"""
df = pd.read_sql(data, con=db_conn, params=[from_date, to_date])

这里查询中的%s是位置占位符。

您可能还需要设置日期格式:

df = pd.read_sql(data, con=db_conn, 
params=[from_date.strftime('%Y-%m-%d'),
to_date.strftime('%Y-%m-%d')])

关于python - PyMySql 更改 SQL 查询中的日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34271162/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com