我有一个Python脚本,该脚本接受3个参数作为Python函数的一部分。下面给出的是函数:
def func(name,start_date,end_date):
db_details
db_cursor = con.cursor()
db_cursor.execute("""select '%s' as name,count (*)
from datamart
where sale_date between '%s' and '%s'"""),
(name,start_date,end_date)
尝试执行以上操作时出现以下错误:
psycopg2.DataError
psycopg2.DataError: invalid input syntax for type timestamp: "%s"
任何人都可以就上述代码中我要去哪里的问题提出建议。我正在连接到Redshift数据库。
答案 0 :(得分:0)
您可以通过这种方式进行操作,因为在格式化字符串时,它不会自己添加单引号。
"""select '{arg_1}' as name,count (*) from datamart where sale_date between '{date_1}' and '{date_2}'""".format(arg1=arg1,date_1=date_1_str,date_2=date_2_str)