本文为大家介绍 sql server 中 Select 检索高级用法,有需要的朋友可以看看。
首先,建议大家熟悉一下SQL的五个集合函数:SUM,AVG,COUNT,MAX,MIN,在程序开发中经常用到的。
通配符的一些用法:(关键字: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中执行效果并不好,所以尽量少使用。