Oracle SQL模糊查询的语法为
SQL模糊查询的语法为
SQL提供了四种匹配模式:
1. % 表示任意0个或多个字符。如下语句:
将会把name为“张三”,“三脚猫”,“唐三藏”等等有“三”的全找出来;
2. _ 表示任意单个字符。语句:
只找出“唐三藏”这样name为三个字且中间一个字是“三”的;
只找出“三脚猫”这样name为三个字且第一个字是“三”的;
3. [ ] 表示括号内所列字符中的一个(类似与正则表达式)。语句:
将找出“张三”、“李三”、“王三”(而不是“张李王三”);
如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
SELECT * FROM user WHERE name LIKE '老[1-9]';
将找出“老1”、“老2”、……、“老9”;
如要找“-”字符请将其放在首位:'张三[-1-9]';
4. [^ ] 表示不在括号所列之内的单个字符。语句:
将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;
将排除“老1”到“老4”寻找“老5”、“老6”、……、“老9”。
!最后是重点!
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”、“';”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数:
在查询前将待查字符串先经该函数处理即可。
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
在查询前将待查字符串先经该函数处理即可。
发表评论
-
oracle10g完全缷载略记
2016-07-09 15:14 845软件环境: 1、Windows7 + Oracle 10g ... -
MySQL zip版的简单安装方式
2016-06-25 17:56 806Windows下MySQL zip版的简单安装 1、下载My ... -
关系型数据库三范式解释
2016-04-07 11:54 1281数据库 三范式最简单最易记的解释,整理一下方便大家记忆。 书上 ... -
oracle中的视图详解及实例
2015-03-26 16:42 17141.创建用户并授权: cre ... -
plsql快捷键设置
2015-01-19 14:15 24491.使用PL/SQL中经常性需要输入select * fro ... -
database link问题解决
2015-01-15 15:00 6672Oracle数据库中关于databas ... -
Oracle10g创建Database link
2015-01-14 10:53 972Oracle10g创建Database link ... -
union和union all的区别
2014-12-29 16:20 1316Union因为要进行重复值扫描,所以效率低。如果合并没有刻意要 ... -
oracle数据库导入导出
2014-11-04 11:33 827oracle数据库导入导出(导出为dmp格式) 一、数据导出: ... -
Oracle中decode函数用法
2014-10-24 10:40 1227含义解释: decode(条件,值1,返回值1,值2 ... -
db语句优划与用法相关
2014-09-19 17:01 6661. oracle 中的not in() 与not exist ... -
oracle 临时表空间 和数据表空间
2014-08-25 13:28 932Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临 ... -
--Oracle 删除用户和表空间
2014-08-25 11:40 2493--查看oracle所有的表空间 select dbf.tab ... -
Oracle trunc()函数的用法 to_date()
2014-07-01 14:24 1425Oracle trunc()函数的用法 --Oracle ... -
sql执行顺序
2014-06-17 21:06 855在查询中逻辑查询和 ... -
监听listener oracle 错误 1067:进程意外终止
2014-05-15 19:20 1621监听listener oracle 错误 1067:进程意外终 ... -
jdbc properties文件配置
2014-05-05 21:33 1364前言 JDBC(Java Data Base Connecti ... -
PLSQL 创建表空间和用户
2014-03-14 18:09 3543通过pl/sql登录到Oracle数据库上,然后执行菜单:文件 ... -
oracle 中删除表 drop delete truncate 的区别
2014-02-27 17:26 1002相同点,使用drop delete truncate 都会删除 ... -
oracle表创建序列创建触发器创建
2014-02-27 11:33 1232// 创建一个序列 CREATE SEQUENCE Car_G ...
相关推荐
总的来说,Java和Oracle结合进行模糊查询涉及到了JDBC连接、SQL的`LIKE`操作符、PreparedStatement的使用以及JSP的前端交互。理解和熟练掌握这些技术,对于开发高效、安全的Web应用程序至关重要。
### Oracle SQL 基础知识点概述 #### 一、Oracle SQL 运行环境与SQL语法 **1.1 SQL 的起源与分类** - **1.1.1 SQL 的起源** - SQL(Structured Query Language)即结构化查询语言,首次出现是在1970年代初期由...
Oracle SQL是用于管理和操作Oracle数据库的强大工具,它包含多种用于数据查询、操作、定义和控制的语句。本文将深入探讨Oracle SQL中的常见查询和计算功能。 首先,SQL(Structured Query Language,结构化查询语言...
Oracle拼音首字母查询是一种在Oracle数据库中实现对汉字进行拼音首字母检索的技术。在中文环境中,为了方便用户根据汉字的拼音首字母进行快速查找,这种查询方式尤其有用。Oracle数据库虽然原生支持英文字符集,但...
文章首先介绍了基本的 SQL 语句,包括 LEFT JOIN 和 INNER JOIN 的区别、LIKE 和 NOT LIKE 的模糊查询、DECODE 函数的使用、CASE WHEN THEN 语句的应用、字符串拼接的方法、日期函数 TO_DATE 和 TO_CHAR 的使用、...
在Oracle数据库环境中,SQL语句的优化是提升查询效率、减少系统资源消耗的关键环节。通过对特定操作符的合理运用,可以显著改善数据检索的速度与准确性。本文将深入探讨几种常见的SQL操作符及其优化方法,包括IN、...
3. **函数转换与前模糊查询**:对字段进行函数转换或前模糊查询通常会导致索引失效,从而进行全表扫描。 #### 五、索引管理 - **主键索引的合理使用**:对于记录数较少的表,只需要保留主键索引即可,过多的索引...
Oracle SQL是用于访问和操作Oracle数据库的强大工具,涵盖了各种查询、更新和管理数据的方法。以下是对笔记中提及的一些关键知识点的详细解释: 1. **登录Oracle数据库**:通常以超级管理员(sysdba)身份登录,如`...
SQL模糊查询是数据库查询中常用的一种方式,它允许用户使用通配符来匹配不确定的数据。在SQL中,主要有四种通配符用于模糊查询: 1. `%`:这个通配符代表任意数量的字符,可以是0个、1个或多个。例如,在`LIKE '%三...
* 使用 LIKE 进行模糊查询:SELECT 列名 > FROM 表名 > WHERE 列名 > LIKE '%字符串 >%' * 使用 BETWEEN 进行范围查询:SELECT 列名 > FROM 表名 > WHERE 列名 > BETWEEN 数值 1 > AND 数值 2 > * 使用 IN 进行多值...
根据提供的文档内容,我们可以归纳并深入探讨Oracle SQL的相关知识点,主要围绕SELECT语句及其使用方法展开。...这些知识点是学习和掌握Oracle SQL的重要基础,能够帮助用户更高效地管理和查询数据库中的数据。
使用LIKE、BETWEEN、IN进行模糊查询 第三章 单行函数 熟悉各种类型单行函数的使用 掌握转换函数的使用 第四章 关联查询 在一张或多张表中使用等值或非等值连接 使用外连接查询 自连接查询 第五章 组函数 定义及...
Oracle SQL中的模糊查询是一种强大的数据检索工具,它允许用户使用通配符来查找不完全匹配特定模式的数据。通配符`LIKE`是这种查询的核心,它在`WHERE`子句中用于筛选满足特定模式的记录。本文将深入讲解`LIKE`...
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优化是数据库管理中的关键任务,它旨在提高查询速度、降低资源消耗,从而提升整个系统的性能。以下是一些重要的优化策略: 1. **全表扫描与索引扫描**: - 全表扫描应尽量避免,尤其对于大数据量的表,...
Mybatis 中 Oracle 的拼接模糊查询及用法详解 Mybatis 是一个基于 Java 的持久层框架,提供了强大的数据库交互能力,而 Oracle 则是业界最流行的关系数据库管理系统。本文将详细介绍 Mybatis 中 Oracle 的拼接模糊...
如果需要更复杂的模糊查询,如音译搜索,可以使用数据库特有的SQL函数,如MySQL的`SOUNDEX`,通过`DetachedCriteria`或`Session.CreateSQLQuery`来执行。 2. **自定义HQL** 对于Nhibernate不直接支持的模糊查询...
本文将深入探讨Oracle索引的原理、创建方法,并结合SQL优化策略,帮助你提升数据库查询速度,降低资源消耗。 首先,我们要理解索引的基本概念。在数据库中,索引类似于书籍的目录,它为数据提供快速访问的途径。...
Oracle SQL是基于SQL标准开发的,主要用于访问和操作Oracle数据库中的数据。 在Oracle11g SQL基础-实验手册中,涵盖了使用Oracle SQL进行数据操作和管理的基础知识点。以下是对该手册中知识点的详细解释: 第1章 ...
### 鸿鹄论坛_oracle四大宝典之1:Oracle Sql基础 #### 一、SQL的起源和分类 ##### 1.1 SQL的起源 SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作数据库的标准计算机语言。它最早由IBM的...