Поиск по регулярному выражению SQL все кроме цифр?
SELECT * FROM `dle_post` WHERE `xfields` REGEXP 'number|123([^[:digit:]]|$)'
Делаю так, но все равно выводиться записи те у которых 12345 и так далее, как сделать чтобы он выводил только 123 у кого запись ?
Дальше может идти знак | или пустота.
Ответы (1 шт):
Автор решения: Alex R.
→ Ссылка
Знак | должен экранироваться \, так как является специальным символом, обозначающим альтернативы.
Если я правильно понял задачу, то выражение должно быть следующим.
SELECT
*
FROM `dle_post`
WHERE `xfields` REGEXP '^number\|123\|?$'
Добавил еще ^ для обозначения начала строки. ? - 0 или 1 совпадение.