Найти - Пользователи
Полная версия: Как передать процент (%) в запрос SQL?
Начало » Python для новичков » Как передать процент (%) в запрос SQL?
1
Maestro
Добрый день
Пишу запрос с LIKE приложением (выдержки):
  sql = "SELECT disp.status.NAME, FROM_UNIXTIME(disp.data.DATE,'%d.%m.%Y') AS DATE,disp.data.DO_PERCENT, disp.data.INFO FROM disp.data INNER JOIN disp.status ON disp.status.ID=disp.data.STATUS_ID ORDER BY disp.data.DATE DESC WHERE disp.NAME LIKE %s"
#Далее прикладываю запрос пользователя и выполняю весь SQL:
cursor.execute(sql, ("%" + like_query + "%",))

Проблема в том, что метод execute срабатывает на %d в FROM_UNIXTIME, а мне надо на последнем %s. Удваивание %% тоже не помогает - это передается прямо в FROM_UNIXTIME
Как правильно тут написать?
Спасибо.
py.user.next
 "FROM_UNIXTIME(disp.data.DATE,'%d.%m.%Y')"
В этом выражении у тебя должны двойные проценты стоять на каждом проценте, иначе execute() их будет заменять.
И для LIKE тоже надо двойные проценты передавать.
Один процент должен стоять только в одном месте - где вся строка для LIKE должна подставиться - %s.
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