喜欢和 regexp_like

like and regexp_like

因为我们有 %。例如:如果我们给 ad%,它会获取所有以 ad 开头的记录,但我应该使用 regexp_like。 for regexp_like what can be used so that it acts as % for like.我不能使用 ^ad,因为从 UI 我们将提供类似 ad* 的内容来获取。

之前 query:select * 来自 employee where fname like 'pr%';

query:select * 来自员工 regexp_like(fname ,'pr+');

对于当前查询,我正在获取包含 pr 的值,但我想获取以 pr 开头的值。

测试数据:如果给出 pr*,那么我应该得到程序等,即以 pr 开头的值。

检查下方 link regexp_like -

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

如果仍然无法解决您的问题,请按照 Jeremy 的指示分享测试数据和预期结果。这将有助于重新爱。

检查下面的例子

create table a 
(b varchar2(150));

insert into a values ('Pravin');

insert into a values ('TestPravin');

select * from a where REGEXP_LIKE (B, '^Pra');

试试这个:

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

Fiddle

据我所知,这个似乎也有效:

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

或另一个有效的方法:

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