国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL截取字符串函數(shù)分享

2020-07-25 13:19:20
字體:
供稿:網(wǎng)友
A.截取從字符串左邊開始N個字符

Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select Left(@S1,4)
------------------------------------
顯示結(jié)果: http


B.截取從字符串右邊開始N個字符(例如取字符www.163.com)

Declare @S1 varchar(100)
Select @S1='http://www.163.com'
Select right(@S1,11)
------------------------------------
顯示結(jié)果: www.163.com


C.截取字符串中任意位置及長度(例如取字符www)

Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select SUBSTRING(@S1,8,3)
------------------------------------
顯示結(jié)果: www

以上例子皆是已知截取位置及長度,下面介紹未知位置的例子

2.截取未知位置的函數(shù)


A.截取指定字符串后的字符串(例如截取http://后面的字符串)

方法一:

Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select Substring(@S1,CHARINDEX('www',@S1)+1,Len(@S1))
/*此處也可以這樣寫:Select Substring(@S1,CHARINDEX('//',@S1)+2,Len(@S1))*/
------------------------------------
顯示結(jié)果: www.163.com

需要注意:CHARINDEX函數(shù)搜索字符串時,不區(qū)分大小寫,因此CHARINDEX('www',@S1)也可以寫成CHARINDEX('WWW',@S1)

方法二:(與方法一類似)

Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn'
Select Substring(@S1,PATINDEX('%www%',@S1)+1,Len(@S1))
--此處也可以這樣寫: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不同的是,當搜索對象不是一個時,利用上面的方法只能搜索到第一個位置

方法一:

Declare @S1 varchar(100)
Select @S1='C:/Windows/test.txt'
select right(@S1,charindex('/',REVERSE(@S1))-1)
-------------------------------------
顯示結(jié)果: text.txt

利用函數(shù)REVERSE獲取需要截取的字符串長度
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 微山县| 登封市| 琼中| 阳曲县| 铁岭县| 昌都县| 新沂市| 安泽县| 三明市| 大化| 高平市| 井陉县| 龙州县| 囊谦县| 红安县| 大港区| 锡林郭勒盟| 湟源县| 赞皇县| 神木县| 三江| 金阳县| 银川市| 阿瓦提县| 清水河县| 大荔县| 咸丰县| 方正县| 黔东| 安化县| 平乡县| 云龙县| 托克逊县| 灵川县| 乐清市| 南乐县| 烟台市| 长兴县| 北宁市| 习水县| 枣强县|