Как и регулярное выражение

Для как у нас есть%. например: если мы дадим объявление%, оно извлечет все записи, которые начинаются с рекламы, но я должен использовать regexp_like. для regexp_like, что можно использовать, чтобы он действовал как% для лайка. я не могу использовать ^ad, потому что из пользовательского интерфейса мы будем давать что-то вроде ad* для получения.

Перед запросом: выберите * у сотрудника, где fname вроде 'pr%';

Текущий запрос: выберите * у сотрудника, где regexp_like(fname,'pr+');

для текущего запроса я получаю значения, которые содержат pr, но я хочу получить значения, которые начинаются с pr.

Testdata: если задано pr*, я должен получить программу и т. Д., То есть значение, начинающееся с pr.

2 ответа

Решение

Попробуй это:

SELECT * 
FROM employee 
WHERE REGEXP_LIKE (fname, '^pr(*)');

скрипка

Этот также, кажется, работает, насколько я могу сказать:

SELECT * 
FROM employee 
WHERE REGEXP_LIKE (fname, '^pr.');

Или другой, который работает:

SELECT *
FROM employee
WHERE regexp_like(fname,'^pr');

Проверьте ссылку ниже regexp_like -

http://docs.oracle.com/cd/B12037_01/server.101/b10759/conditions018.htm

Если вы все еще не можете решить вашу проблему, то, как указал Джереми, поделитесь тестовыми данными и ожидаемым результатом. Это поможет восстановить.

Проверьте ниже пример

create table a 
(b varchar2(150));

insert into a values ('Pravin');

insert into a values ('TestPravin');

select * from a where REGEXP_LIKE (B, '^Pra');
Другие вопросы по тегам