任何人都可以帮助我使用regexp_like
运算符编写相同的查询。(请使用hr.employees
)
Select last_name from employees where
Last_name like '%a%' and
Last_name like '%e%' and
Last_name like '%s%' ;
感谢大家的宝贵宝贵意见。
答案 0 :(得分:3)
如果您真的想要一行,就必须
regexp_like(last_name, '(a.*b.*c)|(a.*c.*b)|(b.*a.*c)|(b.*c.*a)|(c.*a.*b)|(c.*b.*a)')
这是非常不可读的。
我建议您将初始方法用于like
和and
。
Oracle正则表达式很简单,并且没有提供正向先行的功能,因此在这种情况下,即在javascript中使其变得简单。在javascript中,这将是
^(?=.*a)(?=.*b)(?=.*c)
答案 1 :(得分:0)
相当简单:
regexp_like(Last_name, 'a') and
regexp_like(Last_name, 'e') and
regexp_like(Last_name, 's')