我需要从id_1以E开头的数据库中获取数据。 在为上述constarint添加Where子句之前,代码运行良好。
sql = "select inserted_at, id1, id2, id3 from data where inserted_at<=" + str(start_date_time) + " and " \
"inserted_at>=" + str(end_date_time) + " " \
"and" "where id1 like %E%"
我收到此错误。
"inserted_at>=" + str(end_date_time) + " " \
^
SyntaxError: unexpected character after line continuation character
答案 0 :(得分:1)
实际问题是由在查询中放置转义的日期/日期时间文字引起的。您可以通过在start_date_time
周围加上单引号来解决此紧迫的问题,但更好的长期解决方法是使用准备好的语句:
sql = "select inserted_at, id1, id2, id3 from data where inserted_at between ? and ? and id1 like '%E%'"
cur = conn.cursor()
cur.execute(sql, (start_date_time, end_date_time,))