sql - 如何在 oracle 中使用 regexp_like 进行通配符搜索?
问题描述
我正在使用以下查询来获取 12766% 和 39998% 之类的 ID。我如何使用regexp_like
来检查12%66
和39%98
?
select * from table t where regexp_like( UPPER(ID),'12766|39998')
解决方案
我找到了解决方案。我们可以使用下面的查询 a%d 来匹配 abcd、acd、aabcd 等字符串。句点字符 (.) 是 regexp 中 % 的完美替代品,它可以支持数据库中支持的任何字符的一次或多次出现。
select * from table where REGEXP_LIKE (UPPER (ID), '^12.66.|EY39.98.')
推荐阅读
- python - DRF ModelSerializer - 如何添加一个包含许多主键的附加字段?
- c# - '.' 附近的语法不正确 SQL 插入 c#
- php - 如何从客户端浏览器获取文件到服务器php?
- c# - 可编辑的组合框将不允许写入
- apache-spark-sql - Spark Sql 排名问题
- c++ - std::find 在 C++ 中使用字符串向量失败
- android - 从 NDK 版本 16 更新到 NDK 版本 17 时出错
- sql - SQL 应有一个左括号
- python-3.x - Python float - 模精度
- java - 由于 JVM 错误,无法在 Windows 上运行 elasticsearch.bat 文件