Столкнулся с проблемой.
Есть база данных sqlite по которой нужно сделать выборку по похожим записям. Пробую делать запрос с прописанным в коде значением text и все работает.
SELECT * FROM table WHERE column LIKE '%text%')
Требуется что бы была подстановка значения text введенного в программе пользователем.
Для поиска точного значения использую запрос такого вида и все работает нормально.
SELECT * FROM table WHERE column = '%s' " % text)
Вот код программы:
import vk_api, random import sqlite3, datetime conn = sqlite3.connect("db.db3") c = conn.cursor() vk_session = vk_api.VkApi(token='TOKEN_HERE') from vk_api.longpoll import VkLongPoll, VkEventType longpoll = VkLongPoll(vk_session) vk = vk_session.get_api() def check_url(text): ### Работает при точном запросе c.execute("SELECT * FROM table WHERE column = '%s' " % text) result = c.fetchone() print("Ресулт ВК:") print(result) print("Текст ВК:") print(text) if result is None: return True return False def check_c(text): c.execute("SELECT * FROM table WHERE column LIKE %'%s'% " % text) ## Как подставить значение text c условием поиска по частичному совпадению ('%text%') ? result = c.fetchone() print("Ресулт like:") print(result) print("Текст Like:") print(text) if result is None: return True return False if not check_c(event.text.lower()): print("Есть") vk.messages.send( user_id=event.user_id, message="Есть" , keyboard=open("keyboard.json", "r", encoding="UTF-8").read(), random_id=random_id() )
Как реализовать такой же запрос но с параметром LIKE ‘%text%’