Пытался, но не смог использовать LIKE
в моем Query
.
Это прекрасно работает, используя ?
и =
:
def read_part_of_database(table_column, user_query):
c_lime.execute("SELECT * FROM lime_database_table"
"WHERE {} = ? ORDER BY time_start".format(table_column), [(user_query)])
for row in c_lime.fetchall():
print(row)
Но при этом пользователю необходимо ввести точный и полный query
, как это представлено вdatabase
.Поэтому вместо этого я хочу использовать LIKE
.Я пробовал следующее, но, похоже, ничего из этого не работает:
c_lime.execute("SELECT * FROM lime_database_table WHERE {} LIKE %s"
"ORDER BY time_start".format(table_column), ["%" + user_query + "%"])
Это дает мне ошибку: c_lime.execute("SELECT * FROM lime_database_table WHERE {} LIKE %s ORDER BY time_start".format(table_column), ["%" + user_query + "%"])
sqlite3.OperationalError: near "%": syntax error
Я пробовал еще несколько вариантов этого, взятых из SO
и другие источники, но, похоже, ничего из этого не работает.Что-то я делаю не так с побегом %s
?
user_query
, при использовании = ?
, дата: 2/14/2015 1:00:00 PM
и при использовании LIKE
Я принимаю участие в этом: 2/14/2015