匹配用户输入的两个字符之间开始的名称

Match name that starts between two characters entered by the user

我需要编写一个匹配查询,该查询基于用户输入两个字母,然后匹配客户 table 中以两个字母之间的任何字母开头的任何名称,并将它们放入游标中。我尝试使用 REGEXP_LIKE 但无法获得匹配的模式,我 运行 没有想法

如果它们都以大写字母开头,那么只需使用 BETWEEN

SELECT *
FROM table1
WHERE SUBSTR(UPPER("name"),1,1) BETWEEN 'C' AND 'G'

Table

name
Alan
Ben
Chris
Dave
Eddy
Fred
Gregg
Henry

输出

name
Chris
Dave
Eddy
Fred
Gregg

SQL Fiddle: http://sqlfiddle.com/#!4/7cf66/6/0

这是您最初寻找的 REGEXP_LIKE 解决方案。匹配以 c-g 开头且不区分大小写。

select name
from table1
where regexp_like(name, '^[C-G].*', 'i');