Sql server一些Select检索高级用法

来源:岁月联盟 编辑:zhuzhu 时间:2006-05-19

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中执行效果并不好,所以尽量少使用。