SQL数据库模糊查询内容语句
Select *, Title AS Expr1, SubTitle AS Expr2
FROM [FS_News ]
Where (Title LIKE '%贸易新⼿%')
orDER BY Title
SQL模糊查询的语法为
“Select column FROM table Where column LIKE 'pattern'”。
SQL提供了四种匹配模式:
1. % 表⽰任意0个或多个字符。如下语句:
Select * FROM user Where name LIKE '%三%'
sql查询语句实例大全将会把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<chmetcnv unitname="”" sourcevalue="4" hasspace="False" negative="True" numbertype="1" tcsc="0"></chmetcnv>-4”、“a-e”
Select * FROM user Where name LIKE '⽼[1-9]'
将出“⽼<chmetcnv unitname="”" sourcevalue="1" hasspace="False" negative="False" numbertype="1" tcsc="0">
</chmetcnv> 1”、“⽼<chmetcnv unitname="”" sourcevalue="2" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv> 2”、……、“⽼<chmetcnv unitname="”" sourcevalue="9" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv> 9”;
如要“-”字符请将其放在⾸位:'张三[-1-9]'
4. [^ ] 或[! ]表⽰不在括号所列之内的单个字符。语句:
Select * FROM user Where name LIKE '[^张李王]三'
将出不姓“张”、“李”、“王”的“赵三”、“孙三”等;
Select * FROM user Where name LIKE '⽼[^1-4]'
将排除“⽼<chmetcnv unitname="”" sourcevalue="1" hasspace="False" negative="False" numbertype="1" tcsc="0">
</chmetcnv> 1”到“⽼<chmetcnv unitname="”" sourcevalue="4" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv> 4”寻“⽼<chmetcnv unitname="”" sourcevalue="5" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv> 5”、“⽼<chmetcnv unitname="”" sourcevalue="6" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv> 6”、……、“⽼<chmetcnv unitname="”" sourcevalue="9" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv> 9”。
!最后是重点!
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”、“'”的语句⽆法正常实现,⽽把特殊字符⽤“[ ]”括起便可正常查询。据此我们写出以下函数:
function sqlencode(str)
str=replace(str,"'","''")
str=replace(str,"[","[[]") '此句⼀定要在最先
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function
在查询前将待查字符串先经该函数处理即可。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论