0

因为我们有 %。例如:如果我们给 ad%,它将获取所有以 ad 开头的记录,但我应该使用 regexp_like。对于 regexp_like 可以使用什么,以便它充当 like 的 %。我不能使用 ^ad,因为从 UI 中我们会给出像 ad* 这样的东西来获取。

查询前:select * from employee where fname like 'pr%';

当前查询:select * from employee where regexp_like(fname ,'pr+');

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

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

4

2 回答 2

1

试试这个:

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

小提琴

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

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

或者另一个有效的:

SELECT *
FROM employee
WHERE regexp_like(fname,'^pr');
于 2015-06-23T07:32:07.613 回答
0

检查下面的链接 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');
于 2015-06-23T06:38:29.520 回答