Возможный дубликат: Как применить подстановочный знак в instr () в MySQL?
Возможный дубликат ссылки показывает запрос, который точно такой же, как мой текущий. Однако я не могу найти способ сделать его чувствительным к регистру. :\
SELECT COUNT(*) FROM users WHERE INSTR(flags, 'T') > 0;
Я получаю счет 46, который явно неверен. Он подсчитывает каждый экземпляр «T» в флагах, будь то верхний или нижний регистр.
Он работает согласно документации MySQL. Я нашел что-то в документах MySQL, в которых говорилось, что нужно поместить символ «@» в переменную, чтобы сделать ее чувствительной к регистру. Однако я попробовал это на @'T', чтобы сформировать следующий запрос:
SELECT COUNT(*) FROM users WHERE INSTR(flags, @'T') > 0;
Я получаю счет ноль.
Может ли кто-нибудь пролить свет на это для меня? :)
ИЗМЕНИТЬ:
Забыл упомянуть, извините. Я также попробовал использовать LIKE '%T%'
в качестве предложения where, но оно все еще не работает и возвращает то же, что и (INSTR(flags, 'T') > 0)
;
flags
, чтобы мы могли проверить его. - person cmptrgeekken   schedule 10.01.2010flags
будет чем-то вроде TkKp, где T — это то, что я сопоставляю. Пример строки, где буква T в нижнем регистре: AKkRBbagSsPpCtmxeGhUX. - person Zack   schedule 10.01.2010