Oracle模糊查询应该如何实现呢?这是很多人都提到过的问题,下面就为您详细介绍Oracle模糊查询的实现过程,希望对您能有所启迪。

我们可以在where子句中使用like来达到Oracle模糊查询的效果;在Where子句中,可以对datetime、char、varchar字段类型的列用Like子句配合通配符选取那些“很 像...”的数据记录,以下是可使用的通配符:

% 零或者多个字符

_ 单一任何字符(下划线)

\ 特殊字符

[] 在某一范围内的字符,如[0-9]或者[aeth]

[^] 不在某范围内的字符,如[^0-9]或者[^aeth]

后两种, 需要Oracle 10g以上使用支持like的正则regexp_like。

其中关于条件,Oralce中SQL语句提供了四种匹配模式:

1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。

比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'

将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三” 的记录全找出来。

另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件

SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'

若使用SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'

虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。

2,_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:

比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'

只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;

再比如 SELECT * FROM [user] WHERE u_name LIKE '三__';

只找出“三脚猫”这样name为三个字且第一个字是“三”的;

3,[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'

将找出“张三”、“李三”、“王三”(而不是“张李王三”);

如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”

SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'

将找出“老1”、“老2”、……、“老9”;

4,[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

本文出自:亿恩科技【www.enkj.com】

oracle分隔符模糊查询,教您如何实现Oracle模糊查询相关推荐

  1. 如何查询oracle最近报警信息,教你怎样用Oracle方便地查看报警日志错误

    在网上查了几天的资料,尝试综合清除告警日志内容及建外部表的方式来解决这一问题. 一:备份并清除告警日志内容 将每天的告警日志备份好,然后进行清除. 1:备份报警日志 在$ORACLE_HOME/SID ...

  2. oracle告警日志备份,教你怎样用Oracle方便地查看报警日志错误

    在网上查了几天的资料,尝试综合清除告警日志内容及建外部表的方式来解决这一问题. 一:备份并清除告警日志内容 将每天的告警日志备份好,然后进行清除. 1:备份报警日志 在$ORACLE_HOME/SID ...

  3. oracle模糊查询很慢,采用全文索引解决模糊查询速度慢的问题

    众所周知,使用 like 进行模糊查询速度极差,包括 like 'AAA%' ,like '%AAA',like '%AAA%',like '%A%A%'以及采用"_"进行单字符匹 ...

  4. Oracle模糊查询之(2.如何测试模糊查询的时间及使用是否使用索引)反向索引与模糊查询

    反向索引与模糊查询 反向索引应用于前模糊的用法简介: 1.反向索引 SQL> create index ind_name on atest reverse(name); SQL>  sel ...

  5. oracle sql 分区查询语句_oracle11g 表分区后的查询语句如何知道是否进行了全表扫描...

    2019-05-10 回答 1. 对返回的行无任何限定条件,即没有where 子句 2. 未对数据表与任何索引主列相对应的行限定条件 例如:在city-state-zip列创建了三列复合索引,那么仅对 ...

  6. mybatis like模糊查询_Java自学之mybatis:模糊查询和多条件查询

    学习目的 使用mybatis进行模糊查询:查找category_表中包含cat的记录. 使用mybatis进行多条件查询:查找category_表中id>1,包含cat的记录. Part 1 模 ...

  7. Oracle(11g)数据库教程之十:Oracle操作题 (复习课)

    Oracle(11g)数据库教程之十:Oracle操作题 (复习课) 操作题 Sutdent表的定义 字段名 字段描述 数据类型 主键 非空 Id 学号 INT(10) 是 是 Name 姓名 VAR ...

  8. oracle数据库查询需步骤,PLSQL操作Oracle数据库之单表查询SQL语句 看完你就知道了...

    Orcale数据库作为商业级的大型关系型数据库管理系统,以其较高的安全性和强大的可移植性赢得了市场的广泛认可,而PLSQL作为操作Oracle的编程语言的最佳选择,掌握其编程原理及基本的sql操作是掌 ...

  9. Oracle编程入门经典 第2章 SQLPlus和基本查询

    怎样使用SQL*Plus工具连接数据库以及执行查询 怎样配置SQL*Plus,以格式化查询结果 SQL语句的不同种类 怎样在数据库上编写查询来查看数据 怎样修改存储在数据库中的数据 2.1 SQL*P ...

最新文章

  1. CSS导航条菜单:带小三角形
  2. Redis事物分布式锁
  3. Git 通过源码编译安装 2.12.2 遇到的问题及解决
  4. 用python扩展snmp
  5. 想宅家学习但实力不允许?9本书,揭秘学霸是如何养成的​
  6. Color the ball(树状数组区间更新+单点求值)
  7. MySQL设计成一维数据库_mySQL教程 第1章 数据库设计
  8. 爬虫笔记19:模拟登录jerry的QQ空间(selenium获取cookie的应用案例)、怎么保存cookie
  9. 【Frobenius norm(弗罗贝尼乌斯-范数)(F-范数)】
  10. java导出excel合并单元格
  11. java多线程 isAlive方法的有趣现象
  12. resnet-50介绍(一)
  13. 6年全栈工程师回答:web前端的主要学习什么,现在还有前途吗?一般工资是多少?
  14. 共用体的使用_C++
  15. 运行时异常与一般异常有何异同
  16. mysql高可用——MHA详细部署过程
  17. NRF52832开发:射频驱动
  18. centos7中journal和rsyslog日志
  19. 标志寄存器(六个状态标志位)
  20. 50种快速提升网站流量方法

热门文章

  1. 24种工具,跨境电商
  2. 3.1 创建菜单与游戏页面(上)
  3. php7.1 安装pecl,mac pecl 安装php7.1扩展教程
  4. mysql多表关联left join_Mysql多表表关联查询 inner Join left join right join
  5. Matlab中创建字符串数组
  6. linux 内核定时器(低精度) — 外部看门狗程序
  7. openwrt 硬件
  8. wordpress社交系统_WordPress的顶级社交书签插件
  9. Vue2.0版英雄联盟助手,我的第一个小开源项目
  10. 分治算法:地毯填补问题