下面的查询工作正常,只是我需要将变量my_date传递给查询,以使代码动态工作,而不是刷新上个月底的固定值。有人能帮忙吗
下面是一个示例代码:
import my_db
import pandas as pd
import datetime
today = datetime.date.today()
first = today.replace(day=1)
lastMonth = first - datetime.timedelta(days=1)
my_date = lastMonth.strftime('%Y-%m-%d')
my_db = my_sql_database()
my_query= '''SELECT DISTINCT
P.ID
P.VALUE
FROM P
WHERE P.SERIES_DATE = '2019-08-31'
AND P.PERF_START < Convert(datetime,'2019-08-31')
ORDER BY P.ID'''
my_df = pd.read_sql(my_query, my_db)
通常的方法是用占位符标记替换查询中的文字日期
'2019-08-31'
(通常是%s
或?
,具体取决于您使用的特定数据库引擎),然后传入一个额外的参数,该参数包含要替换占位符的实际值因此,您的查询结果如下所示:
然后,正如@jpmc26所评论的,您将使用
params
参数传入占位符的实际值:相关问题 更多 >
编程相关推荐