Попробуйте так
select *
from data
where regexp_like('V123',reg)
Пример упражнения
create table data (id int,reg varchar(100), mess varchar(100));
insert into data values
(1,'[V\d]{4}','тут сообщение 1')
,(2,'([a-z]{2})([0-9]{7})','тут сообщение 2')
,(3,'[A-Z\d]{4}','тут сообщение 3')
,(4,'[A-Z\d]{3}','тут сообщение 4')
,(5,'([a-z]{1})([0-9]{3})','тут сообщение 5')
,(6,'[V\d]{3}','тут сообщение 6')
;
create table test (idd int,testdata varchar(100));
insert into test values
(100,'V123')
,(101,'X1234')
,(102,'V12')
,(103,'AB1234567')
,(104,'EF7')
;
select *
,regexp_like(testdata,reg) ok
from data,test
where regexp_like(testdata,reg)
order by id,idd
Результат
id |
reg |
mess |
idd |
testdata |
ok |
2 |
([a-z]{2})([0-9]{7}) |
тут сообщение 2 |
103 |
AB1234567 |
1 |
5 |
([a-z]{1})([0-9]{3}) |
тут сообщение 5 |
100 |
V123 |
1 |
5 |
([a-z]{1})([0-9]{3}) |
тут сообщение 5 |
101 |
X1234 |
1 |
5 |
([a-z]{1})([0-9]{3}) |
тут сообщение 5 |
103 |
AB1234567 |
1 |