sql запрос с полем в определенном формате - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть таблица sql с полем REFERENCE.Большинство ссылок выглядят так: A123B45* Я имею в виду:

1 letter, 3 digits, 1 letter, 2 digits, anything

, но некоторые отличаются , например AB123C12 они начинаются с 2 букв.

Я хочу сделать запрос , чтобы получить только строки со ссылкой, соответствующей первому примеру A123B45*.

Я уже пыталсяэто:

select REFERENCE from facture where REFERENCE REGEXP "[a-zA-Z][0-9]{3}[a-zA-Z][0-9]{2}[.]*"

Но это не работает, потому что у меня есть также строки, начинающиеся с двух букв .

Спасибо за ваши ответыи ваше время

1 Ответ

0 голосов
/ 21 сентября 2018

Добавить ^ якорь , поскольку reference должен начать с (не содержать ) регулярного выражения:

    select REFERENCE 
      from facture 
     where REFERENCE REGEXP "^[a-zA-Z][0-9]{3}[a-zA-Z][0-9]{2}"

Что происходит:

   AB123C12 <-- doesn't start from the pattern 
    ^     ^
    |-----| <-- but contains the pattern  

, поэтому у вас было ложных срабатываний

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