Как получить все строки с пятизначным числом в одном столбце

0

моя таблица выглядит примерно так:

id | name      | notes
 1 | person 1  | bla bla bla bla
 2 | person 2  | bla 38728 bla bla
 3 | person 3  | bla83784 bla bla
 4 | person 4  | 73804
 5 | person 5  | bla bla 3388 bla bla

Мне нужен запрос, который извлекает все строки, которые имеют пять последовательных цифр в примечаниях столбца. Результат shoud выглядит так:

id | name      | notes
 2 | person 2  | bla 38728 bla bla
 3 | person 3  | bla83784 bla bla
 4 | person 4  | 73804

Я думал, что это возможно с REGEXP. Но, видимо, я делаю что-то неправильно

SELECT id, name, notes
  FROM table
 WHERE notes REGEXP '\d{5}'
  • 3
    MySQL не понимает \d , используйте [0-9] или [[:digit:]] . dev.mysql.com/doc/refman/5.7/en/regexp.html
  • 0
    Что делать, если есть 6 последовательных цифр?
Теги:
numbers

1 ответ

0
Лучший ответ

Используйте следующий запрос. Я использую * потому что предыдущие и конечные символы могут появляться ноль или более раз.

SELECT id, name, notes FROM table WHERE Notes REGEXP '[0-9]{5}'
  • 0
    .* На любом конце не требуется.
  • 0
    @RickJames спасибо. Вы правы, это работает без.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню