我们在查询某个字段的时候,有时候只想匹配某段数据,比如想查询这篇文章的所有关键词是否存在某个关键词,我们往往需要匹配,我们下面来讲解一下如何匹配查询某个关键词值
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

猜你喜欢
联络方式:
深圳 · 龙岗 · 大运软件小镇22栋302-308
电话:400 1828 580
邮箱:szhulian@qq.com



-
做网站域名注册的坑,这些你应该知道
最近做网站的时候,遇到两个客户被坑了,07年注册的域名用了10年多,续费了10年多,发现域名不是自己的......
-
网站维护主要是做哪些工作?
一个网站的维护涉及到很多方面,如:设计,网站策划,优化,数据分析,运营,推广等。目前中小企业对互联网认识愈发重视,都想在互联网有所发展,于是网站在互联网不只是一个网站
-
企业网站制作中如何设置长尾词?
我们都知道每个网站都有属于自己的关键词,关键词选择对了,对网站制作的好处是非常多的,有些关键词虽然搜索量大,但是竞争太强,想要做到首页,似乎很困难。即使是花费大量的人力物力和财力,也未必有结果
-
网站怎样设计才能够在搜索引擎当中占优势?
一个网站的浏览量到底如何,与它在搜索引擎当中的位置是密不可分的,一般来说在搜索引擎当中排名越靠前的网站,那么,它的浏览量就会更高,从而会给企业商家带来更大的商机...
-
Mysql是一种什么类型的数据库管理系统?
mysql是一个关系型数据库管理系统。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库...