Я хочу найти что-то вроде «вероятность: 10%» или «высокая 10%» в столбце «события», но когда я использовал код ниже:
conn = pymysql.connect(host="localhost", port=3306, user='myid', passwd='mypwd', db='mydb', charset='utf8')
curs = conn.cursor()
key = "%"
curs.execute(
"SELECT count(*) AS number FROM city WHERE events LIKE %s",
("%" + key + "%",)
)
он вернул каждую строку в таблице. Он выполнил этот запрос:
SELECT count(*) AS number FROM city WHERE events LIKE '%%%'
вот так, чего я не собирался.
Поиск знака обратной косой черты также дал мне неправильные результаты.
Что мне делать, чтобы получить правильный результат?
Заранее спасибо.
LIKE
), вам нужны две обратные косые черты. ПопробуйтеSELECT count(*) AS number FROM city WHERE events LIKE '%\\%%'
- person Nick   schedule 12.05.2019%
, это особый случай. pymysql не видит разницы между знаками%
в '%s%s%s'
, которые вы передаете. - person thebjorn   schedule 12.05.2019