SQL模糊查询语句

互联网 20-2-6

SQL模糊查询语句

一般模糊语句语法如下:

SELECT 字段 FROM 表 WHERE 某字段 Like 条件

其中关于条件,SQL提供了四种匹配模式:

1、%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。

SELECT * FROM [user] WHERE u_name LIKE '%三%'
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'

若使用

SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'

2、_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:

 SELECT * FROM [user] WHERE u_name LIKE '_三_'
SELECT * FROM [user] WHERE u_name LIKE '三__';

3、[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'

将找出“张三”、“李三”、“王三”(而不是“张李王三”);

SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'

将找出“老1”、“老2”、……、“老9”;4、[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';

将排除“老1”到“老4”,寻找“老5”、“老6”、……5、查询内容包含通配符时

由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数:

function sqlencode(str) str=replace(str,"[","[[]") '此句一定要在最前 str=replace(str,"_","[_]") str=replace(str,"%","[%]") sqlencode=str end function

在查询前将待查字符串先经该函数处理即可。

PHP中文网,有大量免费的SQL教程,欢迎大家学习!

以上就是SQL模糊查询语句的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 模糊查询
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:sql语句的执行顺序是什么

相关资讯