Найти - Пользователи
Полная версия: проблема с select в pyodbc
Начало » Базы данных » проблема с select в pyodbc
1 2
_visor_
Доброго времени суток!
Вопрос такой, возможно ли использовать LIKE в SELECT при использовании pyodbc? ()
пример:
d=input()
….
('select a,b,c from db where c like', d)

к базе и таблице цепляется, а выполнять select не хочет…
есть необходимость проверить вхождение ‘d’ в ‘c’
o7412369815963
По идее все команды должны отрабатывать, какую ошибку выдает?
PooH
_visor_
('select a,b,c from db where c like', d)
Если это ваш запрос, то в нем ошибка
_visor_
PooH
а в чем я ошибся?
использую pyodbc т.к. база на MSSQL. а Pyton 3.х.
почитал мануал pyodbc, ссылок на LIKE совсем не нашел. на форумах тоже нет. может синтаксис не верен? хотя без LIKE прямой запрос к базе …where c=?',d… проходит.
_visor_
o7412369815963
тут я не совсем понял какого параметра ему не хватает..
pyodbc.ProgrammingError: ('The SQL contains 0 parameter markers, but 1 parameters were supplied', ‘HY000’)
Lexander
_visor_
а в чем я ошибся?
В синтаксисе использования LIKE. Должны быть кавычки. См. справку по SQL.
_visor_
решение немного удивило :-))
('select a,b,c from db where c like ?', d)
и все заработало……
все равно всем спасибо!!
Lexander
_visor_
решение немного удивило :-))
Ничего удивительного.
В документации это описано как
Question mark style, e.g. …WHERE name=?
_visor_
с LIKE (=?) почему то не работает. а решение похоже не совсем корректное. оно работает, но результат неполон. странно….
Lexander
Потому что синтаксис оператора LIKE отличается от синтаксиса оператора = в самом SQL.
? указывает только на местоположение параметра.
Во всем остальном должен быть соблюден синтаксис SQL.
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