首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Like和通配符的Oracle SQL

使用Like和通配符的Oracle SQL
EN

Stack Overflow用户
提问于 2017-11-27 16:51:57
回答 1查看 5.2K关注 0票数 3

我使用以下查询查找数据库中的表名:

代码语言:javascript
复制
SELECT  table_name
FROM    user_tables
WHERE   table_name LIKE 'APP_X_%'

我想要的结果是:

代码语言:javascript
复制
APP_X_ABC
APP_X_DEF
APP_X_GHI

我得到的结果是:

代码语言:javascript
复制
APP_XYZ
APP_X123
APP_X_ABC
APP_X_DEF
APP_X_GHI

我只需要返回在X之后有下划线的表名,我做错了什么?

EN

Stack Overflow用户

回答已采纳

发布于 2017-11-27 16:55:09

您需要使用ESCAPE子句:

您可以使用转义子句在模式中包含实际字符%或_,该子句标识转义字符。如果转义字符先于模式中的字符%或_,那么Oracle将该字符按字面解释为模式,而不是一个特殊的模式匹配字符。还可以通过重复查找转义字符本身。

代码语言:javascript
复制
SELECT table_name
FROM user_tables
WHERE table_name LIKE 'APP!_X!_%' ESCAPE '!';

DBFiddle演示

_被视为通配符(任何单个字符)。但您需要_作为文字。

票数 6
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47516011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档