Извлечь последовательность цифр из базы данных

0

Есть ли способ выбрать последовательность цифр (я думаю о чем-то вроде регулярного выражения) из базы данных?

В примере: у меня есть следующий набор целых чисел:

487119241 487130101 486614011 481124234 484031341 487110 48712

и я хотел бы извлечь только те, которые вписываются в рисунок 4871; Я знаю, что в Python я могу сделать re.match('4871 [0-9] +', mySet), но я не знаю какого-либо механизма, подобного этому в mySQL.

Я думал, может быть, о чем-то SELECT integers FROM db WHERE myNumber > SOME_VALUE; но это не будет работать, поскольку шаблон может варьироваться от 5 до 7 цифр.

  • 1
    Вы можете использовать регулярные выражения в запросах SQL в MySQL. Вы можете прочитать больше об этом в dev.mysql.com/doc/refman/8.0/en/regexp.html
  • 0
    Эти целые числа хранятся по одному на строку, а не все в одной строке? Если так, @jaunbits должен закрепить свое предложение.
Теги:
database
optimization

1 ответ

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

Ты можешь попробовать:

SELECT * FROM 'table' WHERE field REGEXP '4871[0-9]+'
  • 0
    Это не является явным в вопросе, но, учитывая предложение об использовании mynumber> somevalue и данных примера, это, вероятно, должно быть закреплено с ^ в начале регулярного выражения, в противном случае вы будете соответствовать в любом месте числа.

Ещё вопросы

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