标准SQL中like进行模糊查询,有什么限制条件吗

标准SQL中like进行模糊查询,有什么限制条件吗,第1张

标准SQL中用like进行模糊查询,有两个通配符:%百分号代表任意个字符,_下划线代表一个字符。

1、like'Mc%' 将搜索以字母 Mc 开头的所有字符串。

2、like'%inger' 将搜索以字母 inger 结尾的所有字符串。

3、like'%en%' 将搜索在任何位置包含字母 en 的所有字符串。

SQL LIKE *** 作符语法

‘_':下划线,表示1个任意字符;如 where name like '_am',表示仅第一位任意,并以'am'结尾,结果如"Tam","Mam","Pam"等。

'%’: 百分号,表示任意个任意字符;如 where name like ‘%am',表示前面可以有任意位,只要以'am'结尾,结果如"abcam",“bcdefgham","qwertyuiopam","am"等等。

百度百科-SQL LIKE

其实你只要在JSP页面选择了查询条件,将查询条件这些传入Servlet中进行处理,在Servlet中调用相应的数据库处理dao。模糊查询就是在这个dao的sql中进行定义的,需要你根据需要写出相应的sql。比如查询姓张的学生:

sql

=

"select

from

student_inf

where

stu_name

like

'张%'"

这仅是个举例,具体你看情况而定。

模糊查询就是在查询数据库的时候在sql上做文章,至于mvc模式,最简单的实现就是jsp+servlet+javaBean。如果楼主不清楚,查阅点资料。

希望我的回答对你有所帮助。

明确的告诉你。。。就这么直接检索不行。。。

大家不知道看明白没有:这是用确定数据检索不确定数据。。。不是你们说的用通配符能解决的事情。

数据检索的本质是用模式(就是不确定数据),检索符合模式的确定值。

确定性就是唯一性,而模式是不确定的。。。

我们输入IG84317183的时候,这是个确定值,是唯一的。而这个唯一值可能属于的模式是无穷的或者是数量非常巨大的

从数学上来说,怎么可能用确定值用检索不确定值

就像你说的:可能是IG8,而这几个问号可能的组合就有10万。也可能是IG8431,或者其他。

所以很简单,唯一可行的方法是倒过来,用你数据库内的内容来匹配这个确定值。因为虽然模式是不确定的,但是你数据库内储存的是有限的确定的。

首先将你数据库内的占位符“”,替换成通配符,如果“”只可以代表一位数则替换为“_”或者“”本身,如果一个“”可以代表几个字符则替换为“%”或者是“”。因为不知道你的库规不规范,如果是规范的不知道的位数都标识为IG8这种,长度也都一样的话,可能就不用替换,因为本身就是通配符(表示一位的)。因为不知道你用的是SQL

SERVER,ORACLE还是其他的。

然后我们就可以用'IG84317183'

LIKE

你数据库里的带通配符的模式。

很简单的语句就是:

如果有表“纸币表”,字段名是“纸币号”,则:

替换为“%”的

select

from

纸币表

where

'IG84317183'

LIKE

REPLACE(纸币号,'','%');

也可以替换为“_”的:

select

from

纸币表

where

'IG84317183'

LIKE

REPLACE(纸币号,'','_');

如果不替换就直接:

select

from

纸币表

where

'IG84317183'

LIKE

纸币号;

注意LIKE的两边跟我们平时用的是反的(一般来说是

字段

like

'某个值',现在是

'某个值'

like

字段,也就是说将字段中的值作为通配符表达式

)。就这样,很简单,很简单就能实现。只要你把道理想通。

但是,请你注意:这样检索出来的东西不能保证对应。还是那个道理,模式实际上是不确定的,虽然你可以数据库中检索出来,你就能说:

IG84183这条数据是IG84317183

。在现实中肯定不能,除非你在现实中有很强的业务规则对应。否则是很危险的。

以上就是关于标准SQL中like进行模糊查询,有什么限制条件吗全部的内容,包括:标准SQL中like进行模糊查询,有什么限制条件吗、jsp如何按指定条件进行模糊查询、数据库的模糊查询等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10178286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存