Использование MySQL Like для поиска числа с символами - PullRequest
0 голосов
/ 12 февраля 2012

Я пытаюсь найти число в столбце (столбец varchar), используя LIKE, я использую выражение, подобное этому SELECT * FROM MYTABLE WHERE mynumberslist LIKE '%76%'. Данные хранятся так: nums =; 76; 78; 80; 81; 176; Так как же мне искать 76, потому что если я просто наберу LIKE %76%, я получу 76, а 176 вернутся? Я не проектировал базу данных и не имею никакого контроля над данными, которые хранятся, я отвечаю только за написание программы, которая выводит данные.

Ответы [ 3 ]

2 голосов
/ 12 февраля 2012

Это так же просто, как

LIKE '%;76;%'

ps: передайте привет автору схемы базы данных и пожертвуйте ему немного денег, чтобы купить любую книгу, связанную с дизайном БД

0 голосов
/ 13 февраля 2012
SELECT * 
  FROM MYTABLE 
 WHERE ';' + mynumberslist + ';' LIKE '%;76;%';
0 голосов
/ 12 февраля 2012

Использовать соответствие регулярному выражению:

SELECT * 
FROM MYTABLE 
WHERE mynumberslist RLIKE '\b76\b'

Это будет соответствовать, даже если у вас нет завершающего ; в конце - оно соответствует слову 76 (\b означает «границу слова» в регулярном выражении)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...