Выберите строки улья, которые содержат определенный символ и 4 цифры - PullRequest
0 голосов
/ 05 июля 2018

Мне нужно выбрать все строки в таблице со значением для столбца. ColA содержит строковые данные, такие как «Pddd». т.е. если в столбце есть данные типа P и 4 цифры после этого, мне нужно выбрать эту строку. Я использую запрос ниже. Но он не может выбрать правильные значения.

select * from tableName where colA is not null and colA <> '' and colA like '%P[0-9]{4}%'

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Понял ..

select * from tableName where colA is not null and colA <> '' and colA rlike '.*(P[0-9]{4}).*'
0 голосов
/ 05 июля 2018

Использование rlike:

select *
from tableName
where colA rlike 'P[0-9]{4}';

Вам не нужны сравнения с NULL или '', потому что они не соответствуют шаблону.

Обратите внимание, что регулярное выражение находит шаблон в любом месте строки. Если вы хотите, чтобы значение было ровно пять символов этого формата, используйте якоря:

where colA rlike '^P[0-9]{4}$';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...