如何在SQL中使用escape字符查询LIKE?(Python)

如何在SQL中使用escape字符查询LIKE?(Python),python,sqlite,escaping,Python,Sqlite,Escaping,正在尝试但未能在我的查询中使用LIKE 这个很好用,用什么?和=: 但是,用户需要输入数据库中显示的准确完整的查询。所以我想用LIKE。我尝试了以下方法,但似乎都不起作用: c_lime.execute("SELECT * FROM lime_database_table WHERE {} LIKE %s" "ORDER BY time_start".format(table_column), ["%" + user_query + "%"]) 这给了我一个错误: c_lim

正在尝试但未能在我的查询中使用LIKE

这个很好用,用什么?和=:

但是,用户需要输入数据库中显示的准确完整的查询。所以我想用LIKE。我尝试了以下方法,但似乎都不起作用:

c_lime.execute("SELECT * FROM lime_database_table WHERE {} LIKE %s" 
        "ORDER BY time_start".format(table_column), ["%" + user_query + "%"])
这给了我一个错误: c_lime.executeSELECT*来自lime_数据库_表,其中{}类似于%s ORDER BY time_start.formattable列,[%+用户_查询+%] sqlite3.0错误:接近%:语法错误

我尝试了更多的变化,从某某和其他来源,但似乎没有一个工作。转义%s有什么问题吗


当使用=?时,用户查询是日期:2015年2月14日下午1:00:00,当使用LIKE时,我参与其中:2015年2月14日

 c_lime.execute("""SELECT * FROM lime_database_table WHERE {} LIKE '%{}' 
                   ORDER BY time_start""".format(table_column, user_query))

LIKE模式中的百分比符号%与字符串中的任何零个或多个字符序列相匹配。因此,您不能在一个类中使用%s字符串替换。。。语句。它对我的作用是这样的:像“{}”,并以.format格式传递用户查询。@Julia,嗯,仍然没有弄对。这是我写的:SELECT*FROM lime_database_table,其中{}像“{}”按时间排序的{u start.formattable_列,[user_query]您是将user_query作为列表传递还是输入错误?嘿,是的,现在它工作了!感谢您花时间@Julia,非常感谢您:关于括号,我以前在查询had=?。没有它就没有了。Python新手,所以不确定是怎么回事:/
 c_lime.execute("""SELECT * FROM lime_database_table WHERE {} LIKE '%{}' 
                   ORDER BY time_start""".format(table_column, user_query))