首页 > 解决方案 > 如何在 oracle 中使用 LIKE 运算符获取值范围?

问题描述

我的数据库我想使用 LIKE 运算符选择具有 A15-A19 但无法获得所需结果的数据。我制作的代码 asSELECT * FROM MASTER_RULE WHERE VALUE BETWEEN LIKE 'A15%' AND 'A19%'并且还尝试了正则表达式 as SELECT * FROM MASTER_RULE WHERE REGEXP_LIKE(value, 'A[1-9]') 。但正则表达式给出了所有未指定范围 15-19 的记录。

如何实现此解决方案?

标签: sqlregexoraclesql-like

解决方案


您的第一个查询不正确,它有一个您不需要的额外关键字。

这是 regexp_like 解决方案:

SELECT * FROM MASTER_RULE WHERE REGEXP_LIKE(value, '^A[1][5-9]')

这是一个演示


更新:

这是“解决方案之间”:

SELECT * 
FROM MASTER_RULE 
WHERE substr(value, 2,length(value)-1) between 15 AND 19

推荐阅读