SQL Server 常用函数使用方法小结
之前就想要把一些SQL的常用函数记录下来,不过一直没有实行。。。嘿嘿。。。
直到今天用到substring()这个函数,C#里面这个方法起始值是0,而SQL里面起始值是1。傻傻分不清楚。。。
这篇博客作为记录SQL的函数的使用方法,想到哪里用到哪里就写到哪里。。。
SubString():用于截取指定字符串的方法。该方法有三个参数:
参数1:用于指定要操作的字符串。
参数2:用于指定要截取的字符串的起始位置,起始值为1。
参数3:用于指定要截取的长度。
selectsubstring('abcdef',1,3)--返回abc selectsubstring('123456321',0,2)--返回1,即第一位,最好不要这样做
Left():用于返回指定字符串中指定长度的左侧部分。该方法有两个参数:
参数1:用于指定要操作的字符串。
参数2:用于指定要返回的子字符串的长度。
selectLEFT('abc123',3)--返回abc selectLEFT('左侧部分右侧部分',4)--返回左侧部分
Right():用于返回指定字符串中指定长度的右侧部分。该方法有两个参数:
参数1:用于指定要操作的字符串。
参数2:用于指定要返回的子字符串的长度。
selectRIGHT('abc123',3)--返回123 selectRIGHT('左侧部分右侧部分',4)--返回右侧部分
CharIndex():用于返回指定字符串中指定子字符串出现的起始位置。如果未找到就返回0。该方法有两个参数:
参数1:用于指定要进行查找的字符串。
参数2:用于指定用作检索的字符串。
selectcharindex('a','123a123')--返回4 selectcharindex('abc','123a123')--返回0 selectcharindex('abc','123abc123')--返回4
Stuff():用于删除指定长度的字符,并在删除的位置插入新的字符/值。该方法有四个参数:
参数1:用于指定要操作的字符串。
参数2:用于指定要删除字符的起始位置。
参数3:用于指定要删除字符的长度。
参数4:用于指定在删除的位置插入的新的字符串/值。
selectstuff('123abc456',4,3,'ABC')--返回123ABC456 selectstuff('123abc456',1,3,'')--返回abc456,用空字符串替代
Len():用于返回指定文本的值的长度。前导空格计算在内,尾随空格不计算在内。该方法有一个参数:
参数1:用于指定要操作的文本或字符串。
selectlen('123')--返回3 selectlen('字符串')--返回3
Difference():用于返回一个整数值,指示两个字符表达式的SOUNDEX值之间的差异。(即两个字符串的相似度)那么什么是SOUNDEX值呢?先记着,下面轮到它了。
返回的值从0到4不等:0表示几乎不同或完全不同,4表示几乎相同或完全相同。该方法有两个参数:
参数1:用于指定要进行比对的第一个字符串SOUNDEX值。
参数2:用于指定要进行比对的第二个字符串SOUNDEX值。
selectdifference('action','demo')--返回2 selectdifference('123456','整数')--返回4
Soundex():用于返回指定字符串的SOUNDEX值。SOUNDEX是一种语音算法,利用英文字的读音计算近似值,值由四个字符构成,第一个字符为英文字母,后三个为数字。在拼音文字中有时会有会念但不能拼出正确字的情形,可用Soundex做类似模糊匹配的效果。这里的模糊匹配跟LIKE不同。
算法简要说明:
--将英文字按以下规则替换(不使用第一个字符进行匹配,并且不使用对应值为0的英文字符的值) aehiouwy->0 bfpv->1 cgjkqsxz->2 dt->3 l->4 mn->5 r->6
如果字符串中存在拥有相同对应数字的2个或以上的字母在一起(例如j和k),则删除其他的,只保留1个。去除对应值为0的字符,只返回前4个字节,不够用0填充。
selectsoundex('string')--返回S215 selectsoundex('str')--返回S210 selectsoundex('123')--返回0000 selectsoundex('字符串')--返回0000
PS:除英文字符以外的字符都将返回0000,所以上面的方法Difference()的第二个示例会返回4(表示完全相同)。
Lower():用于返回指定英文字符串的小写形式的字符串。如果不为英文字符串,则返回原值。该方法有一个参数:
参数1:用于指定要转换为小写形式的字符串。
selectlower('ABC')--返回abc selectlower('123')--返回123
Upper():用于返回指定英文字符串的大写形式的字符串。如果不为英文字符串,则返回原值。该方法有一个参数:
参数1:用于指定要转换为大写形式的字符串。
selectupper('abc')--返回ABC selectupper('123')--返回123
Ltrim():用于返回删除前导空格之后的字符串。该方法有一个参数:
参数1:用于指定要进行删除前导空格操作的字符串。
selectltrim('123')--返回123 selectltrim('好多空格')--返回好多空格 selectlen('123')--返回11 selectlen(ltrim('123'))--返回3
Rtrim():用于返回截断尾随空格之后的字符串。该方法有一个参数:
参数1:用于指定要进行截断尾随空格操作的字符串。
selectrtrim('123')--返回123 selectlen(rtrim('123'))--返回3
Replace():用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。该方法有三个参数:
参数1:用于指定要操作的字符串,即被匹配的字符串。
参数2:用于指定要进行匹配的字符串。
参数3:用于指定用作替换存在的匹配项的字符串。
--把abc替换为xxx selectreplace('123abc456','abc','xxx')--返回123xxx456 --用空字符串替换匹配项 selectreplace('123abc456','abc','')--返回123456
以上所述是小编给大家介绍的SQLServer常用函数使用方法小结,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对毛票票网站的支持!