匹配用户输入的两个字符之间开始的名称
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');
我需要编写一个匹配查询,该查询基于用户输入两个字母,然后匹配客户 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');