特定日期范围内Python代码中的SQL select查询

特定日期范围内Python代码中的SQL select查询,sql,python-3.x,datetime,Sql,Python 3.x,Datetime,当我在Python代码中运行下面的SQL查询时,它将显示我想要的行(硬编码方式) sql='从xyz_表中选择第1列、第2列,其中类似于“2019-12-%”按描述排序' 我只是想得到一些帮助来运行相同的查询,但要使其可靠,因为查询应该每月运行一次 sql= 'SELECT column1, column2 FROM xyz_table where <date_column> like (datetime.date.today().replace(day=1) - datetime

当我在Python代码中运行下面的SQL查询时,它将显示我想要的行(硬编码方式)

sql='从xyz_表中选择第1列、第2列,其中类似于“2019-12-%”按描述排序'
我只是想得到一些帮助来运行相同的查询,但要使其可靠,因为查询应该每月运行一次

sql= 'SELECT column1, column2 FROM xyz_table where <date_column> like (datetime.date.today().replace(day=1) - datetime.timedelta(days=1)).strftime("%Y-%m-%") ORDER BY <date_column> desc'
sql='从xyz_表中选择column1,column2,其中like(datetime.date.today().replace(day=1)-datetime.timedelta(days=1)).strftime(“%Y-%m-%”)按描述排序'
在上面的命令中,datetime在SQL查询中不起作用,我已经搜索过,但没有找到在SQL查询中使用datetime的任何方法


有人能帮我找到一种方法,使用Python代码在特定日期内从表中选择数据吗?

尝试将其嵌入查询字符串中,如下所示:

sql= f'SELECT column1, column2 FROM xyz_table where <date_column> like {(datetime.date.today().replace(day=1) - datetime.timedelta(days=1)).strftime("%Y-%m-%")} ORDER BY <date_column> desc'
sql=f'从xyz_表中选择column1,column2,其中类似{(datetime.date.today().replace(day=1)-datetime.timedelta(days=1)).strftime(“%Y-%m-%”)按描述排序}
更新:前一行引发错误,以下示例应适用:

import datetime
dt = (datetime.date.today().replace(day=1) - datetime.timedelta(days=1)).strftime('%Y-%m-')
sql= f'SELECT column1, column2 FROM xyz_table where <date_column> like "{dt}%" ORDER BY <date_column> desc'
导入日期时间
dt=(datetime.date.today().replace(day=1)-datetime.timedelta(days=1)).strftime(“%Y-%m-”)
sql=f'从xyz_表中选择column1,column2,如“{dt}%”按desc排序'
import datetime
dt = (datetime.date.today().replace(day=1) - datetime.timedelta(days=1)).strftime('%Y-%m-')
sql= f'SELECT column1, column2 FROM xyz_table where <date_column> like "{dt}%" ORDER BY <date_column> desc'