sql server 中 Select 检索高级用法

发布时间:2020-07-07编辑:脚本学堂
本文为大家介绍 sql server 中 Select 检索高级用法,有需要的朋友可以看看。

本文为大家介绍 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中执行效果并不好,所以尽量少使用。