В основном у меня есть следующее утверждение (которое работает) ... < /p>
SELECT * FROM `my_table` WHERE `my_field` REGEXP '[\[|,]24[\]|,]';
< /code>
Мои строковые данные ... < /p>
[24,1,2] => FOUND
[1,24,2] => FOUND
[1,2,24] => FOUND
[1,2,3] => NOT FOUND
...
< /code>
, конечно, изменение "24" в другие цифры. Следующее утверждение не сработало. < /P>
SELECT * FROM `my_table` WHERE `my_field` REGEXP '[\[|,]24[,|\]]';
< /code>
[*] Это возвращает пустой набор результатов. Почему это не работает?
Я проверил свой код с https://regex101.com/. Используется ... < /li>
< /ol>
(\[|,)24(\]|,)
(\[|,)24(,|\])
< /code>
и все версии работали. Mysql не может использовать "(" и ")"?
Подробнее здесь: https://stackoverflow.com/questions/797 ... characters
Mysql regexp для нескольких (специальных) символов ⇐ MySql
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение