oracle存储过程like模糊查询,oracle 模糊匹配like

oracle存储过程like模糊查询,oracle 模糊匹配like,Oracle 模糊查询及like用法

本文主要介绍Oracle fuzzy query like的用法。我们可以在where子句中使用like关键字来达到Oracle模糊查询的效果。有需要的可以参考下面文章的具体内容。

目录

类似用法1的Oracle模糊查询。在where子句1中使用like关键字。_

2.[] 3.[]第二,Oracle中提供了instr(strSource,strTarget)函数。

Oracle 模糊查询like用法

一、where子句中使用like关键字

我们可以在where子句中使用like关键字,达到Oracle模糊查询的效果;在Where子句中,可以对字段类型为datetime、char和varchar的列使用带有通配符的Like关键字来实现模糊查询。

以下是可使用的通配符:

%:零个或多个字符。使用%有三种方法。

类似“% keyword%”的字段包含“keyword”的记录

类似“关键字%”的字段是其字段以“关键字”开头的记录

类似“% keyword”的字段是其字段以“keyword”结尾的记录

例子:

Select * from [user]其中unamelike% 3%

//搜索结果:“张三”、“小三”、“鼎猫”、“猫鼎”有三条记录。把他们都找出来。

select * from[user]where unamelike % three (从后面匹配)

//搜索结果:“张三”、“小三”

//另外,如果需要找出uname中同时带有“three”和“cat”的记录,请使用and条件。

Select * from [user]其中unamelike“% three %”和unamelike“% cat %”

如果使用select * from[user]where unamelike % 3% cat % //,虽然可以搜索“三条腿的猫”,但是不能搜索“三条腿的猫”。

1._

任何单个字符(下划线)通常用于限制表达式的字符长度:

例子:

select * from[user]where unamelike three

//搜索结果:“猫有三只脚”这样uname就是三个字,中间那个是“三”;

select * from[user]where unamelike three _ _ ;

//搜索结果:“三条腿的猫”,使得uname是三个字符,第一个是“三”;

2.[]

一定范围内的字符代表括号中列出的字符之一(类似于正则表达式)。指定一个字符、字符串或范围,并要求匹配的对象是其中的任何一个。

例子:

select * from[user]where u _ name like [张] three

//搜索结果:“张三”、“李三”、“王三”(而不是“张莉王三”);

//如果有一系列字符(01234,abcde等。)在[],可以写成“0-4”或者“a-e”

Select * from [user]其中u _ name like old [1-9]

//搜索结果:“老1”,“老2”,“老9”;

3.[^]

不在特定范围内的字符的用法与[]相反。

二、在Oracle中提供了instr(strSource,strTarget)函数

Oracle中提供了instr(strSource,strTarget)函数,这比使用 % keyword% 的模式要高效得多。

instr函数也有三种情况:

Instr (field, keyword) 0等效于类似 % keyword% 的字段

Instr (field, keyword)=1相当于类似 keyword% 的字段

Instr (field, keyword)=0相当于field not like% keyword%

例子:

select * from[user]where instr(uname, three) 0

关于用法,请参考上面的Like。

特殊用法:

select id,namefrom user where instr(101914,104703 ,id) 0。

它相当于

select id,namefrom user其中id=101914或id=104703。

这就是Oracle模糊查询的细节,比如where子句中的用法。如需了解更多关于Oracle fuzzy query like的用法,请关注我们的其他相关文章!

oracle存储过程like模糊查询,oracle 模糊匹配like