`

Oracle SQL模糊查询

    博客分类:
  • DB
阅读更多
Oracle SQL模糊查询的语法为
 
  SQL模糊查询的语法为
   
“SELECT column FROM table WHERE column LIKE 'pattern';”。 

   
    SQL提供了四种匹配模式:
    1. % 表示任意0个或多个字符。如下语句:
 
      SELECT * FROM user WHERE name LIKE '%三%';

    将会把name为“张三”,“三脚猫”,“唐三藏”等等有“三”的全找出来;
   
    2. _ 表示任意单个字符。语句:
 
      SELECT * FROM user WHERE name LIKE '_三_';

    只找出“唐三藏”这样name为三个字且中间一个字是“三”的;
       
SELECT * FROM user WHERE name LIKE '三__';

    只找出“三脚猫”这样name为三个字且第一个字是“三”的;
   
    3. [ ] 表示括号内所列字符中的一个(类似与正则表达式)。语句:
      
 SELECT * FROM user WHERE name LIKE '[张李王]三';

    将找出“张三”、“李三”、“王三”(而不是“张李王三”);
       
    如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
        SELECT * FROM user WHERE name LIKE '老[1-9]';
    将找出“老1”、“老2”、……、“老9”;
    如要找“-”字符请将其放在首位:'张三[-1-9]';
   
    4. [^ ] 表示不在括号所列之内的单个字符。语句:
       
SELECT * FROM user WHERE name LIKE '[^张李王]三';

    将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;
      
 SELECT * FROM user WHERE name LIKE '老[^1-4]';

    将排除“老1”到“老4”寻找“老5”、“老6”、……、“老9”。
   
    !最后是重点!
    由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”、“';”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数:
   
    function sqlencode(str)
     str=replace(str,"';","';';")
     str=replace(str,"[","[[]") ';此句一定要在最先
     str=replace(str,"_","[_]")
     str=replace(str,"%","[%]")
     sqlencode=str
    end function

   
    在查询前将待查字符串先经该函数处理即可。
分享到:
评论

相关推荐

    简单模糊查询,是关于java和Oracle的一个模糊查询

    总的来说,Java和Oracle结合进行模糊查询涉及到了JDBC连接、SQL的`LIKE`操作符、PreparedStatement的使用以及JSP的前端交互。理解和熟练掌握这些技术,对于开发高效、安全的Web应用程序至关重要。

    Oracle Sql基础 Oracle Sql基础 Oracle Sql基础

    ### Oracle SQL 基础知识点概述 #### 一、Oracle SQL 运行环境与SQL语法 **1.1 SQL 的起源与分类** - **1.1.1 SQL 的起源** - SQL(Structured Query Language)即结构化查询语言,首次出现是在1970年代初期由...

    oracle常用SQL语句下载

    Oracle SQL是用于管理和操作Oracle数据库的强大工具,它包含多种用于数据查询、操作、定义和控制的语句。本文将深入探讨Oracle SQL中的常见查询和计算功能。 首先,SQL(Structured Query Language,结构化查询语言...

    oracle拼音首字母查询

    Oracle拼音首字母查询是一种在Oracle数据库中实现对汉字进行拼音首字母检索的技术。在中文环境中,为了方便用户根据汉字的拼音首字母进行快速查找,这种查询方式尤其有用。Oracle数据库虽然原生支持英文字符集,但...

    ORACLE SQL 优化 存储过程 PROCEDURE

    文章首先介绍了基本的 SQL 语句,包括 LEFT JOIN 和 INNER JOIN 的区别、LIKE 和 NOT LIKE 的模糊查询、DECODE 函数的使用、CASE WHEN THEN 语句的应用、字符串拼接的方法、日期函数 TO_DATE 和 TO_CHAR 的使用、...

    Oracle——sql语句优化

    在Oracle数据库环境中,SQL语句的优化是提升查询效率、减少系统资源消耗的关键环节。通过对特定操作符的合理运用,可以显著改善数据检索的速度与准确性。本文将深入探讨几种常见的SQL操作符及其优化方法,包括IN、...

    oracle 性能优化 加快查询效率

    3. **函数转换与前模糊查询**:对字段进行函数转换或前模糊查询通常会导致索引失效,从而进行全表扫描。 #### 五、索引管理 - **主键索引的合理使用**:对于记录数较少的表,只需要保留主键索引即可,过多的索引...

    最全的ORACLE-SQL笔记

    Oracle SQL是用于访问和操作Oracle数据库的强大工具,涵盖了各种查询、更新和管理数据的方法。以下是对笔记中提及的一些关键知识点的详细解释: 1. **登录Oracle数据库**:通常以超级管理员(sysdba)身份登录,如`...

    sql模糊查询.pdf

    SQL模糊查询是数据库查询中常用的一种方式,它允许用户使用通配符来匹配不确定的数据。在SQL中,主要有四种通配符用于模糊查询: 1. `%`:这个通配符代表任意数量的字符,可以是0个、1个或多个。例如,在`LIKE '%三...

    Oracle数据库Sql语句详解大全.pptx

    * 使用 LIKE 进行模糊查询:SELECT 列名 > FROM 表名 > WHERE 列名 > LIKE '%字符串 >%' * 使用 BETWEEN 进行范围查询:SELECT 列名 > FROM 表名 > WHERE 列名 > BETWEEN 数值 1 > AND 数值 2 > * 使用 IN 进行多值...

    Oracle-SQL培训-V1.0

    根据提供的文档内容,我们可以归纳并深入探讨Oracle SQL的相关知识点,主要围绕SELECT语句及其使用方法展开。...这些知识点是学习和掌握Oracle SQL的重要基础,能够帮助用户更高效地管理和查询数据库中的数据。

    Oracle数据库Sql语句详解大全

    使用LIKE、BETWEEN、IN进行模糊查询 第三章 单行函数 熟悉各种类型单行函数的使用 掌握转换函数的使用 第四章 关联查询 在一张或多张表中使用等值或非等值连接 使用外连接查询 自连接查询 第五章 组函数 定义及...

    oracle sql语言模糊查询--通配符like的使用教程详解

    Oracle SQL中的模糊查询是一种强大的数据检索工具,它允许用户使用通配符来查找不完全匹配特定模式的数据。通配符`LIKE`是这种查询的核心,它在`WHERE`子句中用于筛选满足特定模式的记录。本文将深入讲解`LIKE`...

    Oracle-SQL基础到存储过程下载(第二阶段)

    018.sql高级查询_like模糊查询.mp4 019.sql高级查询_集合运算.mp4 020.sql高级查询_约束.mp4 021.sql高级查询_关联之通用写法001.mp4 022.sql高级查询_子查询.mp4 023.sql高级查询_关联之通用写法002.mp4 024.sql...

    oracle的sql优化

    Oracle的SQL优化是数据库管理中的关键任务,它旨在提高查询速度、降低资源消耗,从而提升整个系统的性能。以下是一些重要的优化策略: 1. **全表扫描与索引扫描**: - 全表扫描应尽量避免,尤其对于大数据量的表,...

    Mybatis 中 Oracle 的拼接模糊查询及用法详解

    Mybatis 中 Oracle 的拼接模糊查询及用法详解 Mybatis 是一个基于 Java 的持久层框架,提供了强大的数据库交互能力,而 Oracle 则是业界最流行的关系数据库管理系统。本文将详细介绍 Mybatis 中 Oracle 的拼接模糊...

    Nhibernate的模糊查询

    如果需要更复杂的模糊查询,如音译搜索,可以使用数据库特有的SQL函数,如MySQL的`SOUNDEX`,通过`DetachedCriteria`或`Session.CreateSQLQuery`来执行。 2. **自定义HQL** 对于Nhibernate不直接支持的模糊查询...

    ORACLE索引详解及SQL优化

    本文将深入探讨Oracle索引的原理、创建方法,并结合SQL优化策略,帮助你提升数据库查询速度,降低资源消耗。 首先,我们要理解索引的基本概念。在数据库中,索引类似于书籍的目录,它为数据提供快速访问的途径。...

    Oracle11g SQL基础-实验手册

    Oracle SQL是基于SQL标准开发的,主要用于访问和操作Oracle数据库中的数据。 在Oracle11g SQL基础-实验手册中,涵盖了使用Oracle SQL进行数据操作和管理的基础知识点。以下是对该手册中知识点的详细解释: 第1章 ...

    鸿鹄论坛_oracle四大宝典之1:Oracle Sql基础.

    ### 鸿鹄论坛_oracle四大宝典之1:Oracle Sql基础 #### 一、SQL的起源和分类 ##### 1.1 SQL的起源 SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作数据库的标准计算机语言。它最早由IBM的...

Global site tag (gtag.js) - Google Analytics