Как и регулярное выражение
Для как у нас есть%. например: если мы дадим объявление%, оно извлечет все записи, которые начинаются с рекламы, но я должен использовать 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');