Sql语言基础
sql模糊查询的几种常见方法
2015-02-16 17:51:36

模糊查询一直都是我们筛选数据的有效办法。能在知道最少资料的情况下 找出尽可能多的相关信息。但是模糊查询的使用要谨慎。因为数据量大时,模糊查询需要的时间是非常长的。下面来了解一些常用的模糊查询的方法:

 通配符的一些用法:(关键字:like % [] -)   select * from tablename where column1 like '[A-M]%'   这样可以选择出column字段中首字母在A-M之间的记录

  select * from tablename where column1 like '[ABC]%'   这样可以选择出column字段中首字母是A或者B或者C的记录

  select * from tablename where column1 like '[A-CG]%'   这样可以选择出column字段中首字母在A-C之间的或者是G的记录

  select * from tablename where column1 like '[^C]%'   这样可以选择出column字段中首字母不是C的记录  脱字符(关键字:like _   通过使用下滑线字符(_),可以匹配任意单个字符   select * from tablename where column1 like 'M_crosoft'  匹配特殊字符:([ ] _ - %   把他们都放到[]中就行了,比如:   select * from tablename where column1 like '%[%]%'  匹配发音(关键字:SOUNDEX DIFFERENCE   如果不知道一个名字确切的发音,但是又多少知道一点,可以考虑使用SOUNDEX DIFFERENCE函数。   select * from tablename where DIFFERENCE(column1,'Laofei'>3)   DIFFERENCE返回0-4之间的数字,4是非常接近,0是差异非常大   要深入了解DIFFERENCE函数的工作原理,使用SOUNDEX函数返回DIFFERENCE函数所使用的音标码   select column1 as column,SOUNDEX(column1) 'sound like'  注意:   DIFFERENCE函数比较两个字符串的第一个字母和所有的辅音字母,该函数忽略任何元音字母(包括Y,除非元音字母是该字符串的第一个字母。   使用这两个函数在where中执行效果并不好,所以尽量少使用。