SQL截取字符串函數(shù)分享
發(fā)布日期:2022-01-22 16:53 | 文章來(lái)源:站長(zhǎng)之家
Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select Left(@S1,4)
------------------------------------
顯示結(jié)果: http
B.截取從字符串右邊開(kāi)始N個(gè)字符(例如取字符www.163.com) Declare @S1 varchar(100)
Select @S1='http://www.163.com'
Select right(@S1,11)
------------------------------------
顯示結(jié)果: www.163.com
C.截取字符串中任意位置及長(zhǎng)度(例如取字符www) Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select SUBSTRING(@S1,8,3)
------------------------------------
顯示結(jié)果: www 以上例子皆是已知截取位置及長(zhǎng)度,下面介紹未知位置的例子 2.截取未知位置的函數(shù)
A.截取指定字符串后的字符串(例如截取http://后面的字符串) 方法一: Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select Substring(@S1,CHARINDEX('www',@S1)+1,Len(@S1))
/*此處也可以這樣寫(xiě):Select Substring(@S1,CHARINDEX('//',@S1)+2,Len(@S1))*/
------------------------------------
顯示結(jié)果: www.163.com 需要注意:CHARINDEX函數(shù)搜索字符串時(shí),不區(qū)分大小寫(xiě),因此CHARINDEX('www',@S1)也可以寫(xiě)成CHARINDEX('WWW',@S1) 方法二:(與方法一類(lèi)似) Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select Substring(@S1,PATINDEX('%www%',@S1)+1,Len(@S1))
--此處也可以這樣寫(xiě):Select Substring(@S1,PATINDEX('%//%',@S1)+2,Len(@S1))
------------------------------------
顯示結(jié)果: www.163.com
函數(shù)PATINDEX與CHARINDEX區(qū)別在于:前者可以參數(shù)一些參數(shù),增加查詢的功能 方法三: Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select REPLACE(@S1,'http://','')
------------------------------------
顯示結(jié)果: www.163.com
利用字符替換函數(shù)REPLACE,將除需要顯示字符串外的字符替換為空 方法四: Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select STUFF(@S1,CHARINDEX('http://',@S1),Len('http://'),'')
------------------------------------
顯示結(jié)果: www.163.com 函數(shù)STUFF與REPLACE區(qū)別在于:前者可以指定替換范圍,而后者則是全部范圍內(nèi)替換 B.截取指定字符后的字符串(例如截取C:\Windows\test.txt中文件名)
與A不同的是,當(dāng)搜索對(duì)象不是一個(gè)時(shí),利用上面的方法只能搜索到第一個(gè)位置 方法一: Declare @S1 varchar(100)
Select @S1='C:\Windows\test.txt'
select right(@S1,charindex('\',REVERSE(@S1))-1)
-------------------------------------
顯示結(jié)果: text.txt 利用函數(shù)REVERSE獲取需要截取的字符串長(zhǎng)度
Select @S1='http://www.xrss.cn'
Select Left(@S1,4)
------------------------------------
顯示結(jié)果: http
B.截取從字符串右邊開(kāi)始N個(gè)字符(例如取字符www.163.com) Declare @S1 varchar(100)
Select @S1='http://www.163.com'
Select right(@S1,11)
------------------------------------
顯示結(jié)果: www.163.com
C.截取字符串中任意位置及長(zhǎng)度(例如取字符www) Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select SUBSTRING(@S1,8,3)
------------------------------------
顯示結(jié)果: www 以上例子皆是已知截取位置及長(zhǎng)度,下面介紹未知位置的例子 2.截取未知位置的函數(shù)
A.截取指定字符串后的字符串(例如截取http://后面的字符串) 方法一: Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select Substring(@S1,CHARINDEX('www',@S1)+1,Len(@S1))
/*此處也可以這樣寫(xiě):Select Substring(@S1,CHARINDEX('//',@S1)+2,Len(@S1))*/
------------------------------------
顯示結(jié)果: www.163.com 需要注意:CHARINDEX函數(shù)搜索字符串時(shí),不區(qū)分大小寫(xiě),因此CHARINDEX('www',@S1)也可以寫(xiě)成CHARINDEX('WWW',@S1) 方法二:(與方法一類(lèi)似) Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select Substring(@S1,PATINDEX('%www%',@S1)+1,Len(@S1))
--此處也可以這樣寫(xiě):Select Substring(@S1,PATINDEX('%//%',@S1)+2,Len(@S1))
------------------------------------
顯示結(jié)果: www.163.com
函數(shù)PATINDEX與CHARINDEX區(qū)別在于:前者可以參數(shù)一些參數(shù),增加查詢的功能 方法三: Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select REPLACE(@S1,'http://','')
------------------------------------
顯示結(jié)果: www.163.com
利用字符替換函數(shù)REPLACE,將除需要顯示字符串外的字符替換為空 方法四: Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select STUFF(@S1,CHARINDEX('http://',@S1),Len('http://'),'')
------------------------------------
顯示結(jié)果: www.163.com 函數(shù)STUFF與REPLACE區(qū)別在于:前者可以指定替換范圍,而后者則是全部范圍內(nèi)替換 B.截取指定字符后的字符串(例如截取C:\Windows\test.txt中文件名)
與A不同的是,當(dāng)搜索對(duì)象不是一個(gè)時(shí),利用上面的方法只能搜索到第一個(gè)位置 方法一: Declare @S1 varchar(100)
Select @S1='C:\Windows\test.txt'
select right(@S1,charindex('\',REVERSE(@S1))-1)
-------------------------------------
顯示結(jié)果: text.txt 利用函數(shù)REVERSE獲取需要截取的字符串長(zhǎng)度
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章