Найти - Пользователи
Полная версия: Запрос sqlite для поиска по похожим строкам
Начало » Python для новичков » Запрос sqlite для поиска по похожим строкам
1
Gens007
Приветствую.
Столкнулся с проблемой.
Есть база данных 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%’
Gens007
Решил вопрос сам.

Если вдруг кто столкнется с подобным вот решение.
 ("SELECT * FROM table WHERE column '%%%s%%' " % text)
Rodegast
> Если вдруг кто столкнется с подобным вот решение.

Вообще то эти параметры нужно по другому задавать.
http://python-3.ru/page/parameterized-queries-sqlite-python
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB