sql - 如何在 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 的记录。
如何实现此解决方案?
解决方案
您的第一个查询不正确,它有一个您不需要的额外关键字。
这是 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
推荐阅读
- openlayers - OpenLayers - ArcGIS 矢量切片 - 使用 ol-MapBox-Style 进行样式设置
- netlogo - 网标。海龟出生时更新历史列表
- javascript - 如何从现有的对象数组构建一个新的对象数组,过滤以匹配键列表
- reactjs - 如何避免Warning:[antd:Table]`FilteredKeys`应该全部控制还是不控制
- javascript - 无法在nodejs中编辑消息
- google-chrome - 加载网站时,Google chrome 性能分析器空闲时间需要记录时间
- javascript - 如何让文本和按钮与响应式设计的背景图像重叠?
- excel - 我无法让我的宏循环遍历列以执行我需要的操作
- ruby - 如何在运行时在冰糕中的`T::Struct`上动态定义`prop`s?
- firebase - 这个谷歌云功能会导致firestore触发器无限循环吗?