资源描述:
《sql截取字符串应用代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SQL截取字符串应用代码字符串截取函数,只限单字节字符使用(对于中文的截取吋遇上奇数长度是会出现乱码,需另行处理),本函数可截収字符串指定范围内的字符。SUBSTRING返回字符、binary、text或image表达式的一部分。有关可与该函数一起使用的有效Microsoft®SQLServer™数据类型的更多信息,请参见数据类型。语法:SUBSTRING(expression,start,length)参数:expression是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。start是一个整数,指定子串的开始位置。length是一个整数,
2、指定子串的长度(要返回的字符数或字节数)。substring()任意位置取子串left(),right()左右两端取子串ItrimfLrtrimO截断空格,没有trim()ocharindex()zpatindex()查子串在母串中的位置,没有返回0。区另ij:patindex支持通配符,charindex彳从支持。函数功效:字符串截収函数,只限单字节字符使用(对于中文的截取时遇上奇数长度是会出现乱码,需另行处理),本函数可截取字符串指定范围内的字符。应用范围:标题、内容截取函数格式:stringsubstr(stringstring,intstart[,intlength])参数1:处理
3、字符串参数2:截取的起始位置(第一个字符是从0开始)参数3:截取的字符数量substr()更多介绍可在PHP官方手册中查询(字符串处理函数库)举例:substr("ABCDEFGHz0);//返冋:ABCDEFG,截取所有字符substr(“ABCDEFG,,,2);〃返回:CDEFG,截取从C开始Z后所有字符substrC'ABCDEFG'*,0,3);//返回:ABC,截取从A开始3个字符substrC'ABCDEFG",0,100);//返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。substrCABCDEFG-,0z-
4、3);//返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变例子:1•截取已知长度的函数A.截収从字符串左边开始N个字符复制代码代码如下:Declare@S1varchar(lOO)Select@Sl=*http://www.163.com'SelectLeft(@Sl,4)显示结果:httpB.截取从字符串右边开始N个字符(例如取字符www.163.com)复制代码代码如下:Declare@S1varchar(lOO)Select@Sl='http://www.163.com'Selectright(@Sl,ll)显示结果:www.163.comC.截収字符串屮任
5、意位置及长度(例如取字符www)复制代码代码如下:Declare@S1varchar(lOO)Select@Sl='http://www.163.com'SelectSUBSTRING(@S1Z8Z3)■显示结果:www.163.com以上例子皆是己知截取位置及长度,下面介绍未知位置的例子2.截取未知位置的函数A.截取指定字符串后的字符串(例如截取http://后面的字符串)方法一:复制代码代码如下:Declare@S1varchar(lOO)Select@Sl=*http://www.163.com'SelectSubstring(@Sl,CHARINDEX(,www,,@Sl)+l/L
6、en(@Sl))/*此处也可以这样写:SelectSubstring(@Sl/CHARINDEX(7/',@Sl)+2zLen(@Sl))*/显示结果:www.163.com需要注意:CHARINDEX函数搜索字符串时,不区分大小写,因此CHARINDEX(Sww',@Sl)也可以写成CHARINDEXCWWW'^Sl)方法二:(与方法一类似)复制代码代码如下:Declare@S1varchar(lOO)Select@Sl=*http://www.163.com'SelectSubstring(@Sl,PATINDEX(,%www%,/@Sl)+l,Len(@Sl))—此处也可以这样写:S
7、electSubstring(@Sl/PATINDEX(,%//%,,@Sl)+2zLen(@Sl))显示结果:www.163.com函数PATINDEX与CHARINDEX区别在于:前者可以参数一些参数,增加查询的功能方法三:复制代码代码如下:Declare@S1varchar(lOO)Select@Sl=*http://www.163.com'SelectREPLACE(@Sl;http://'/")显示结果:www