摘要:
下文講述獲取一個字符串中存在多少個網址的方法,以下
實驗環境:sql server 2008 R2
實現思路:
1.新建一個自定義函數,可將單個字符串拆分爲含單個網址的數據表
2.採用outer apply將源數據表和函數進行相關的鏈接linux
例:sql
---建立字符串分解函數-將字符串轉換爲數據表 create Function stringChangeTable(@tmp varchar(max)) Returns @tab Table ( info varchar(50) ) As Begin set @tmp = @tmp+',' Declare @Istr varchar(50) --截取後的第一個字符串 Declare @strTmp varchar(max) --截取第一個字符串後剩餘的字符串 set @Istr = left(@tmp,charindex(',',@tmp)-1) set @strTmp = stuff(@tmp,1,charindex(',',@tmp),'') Insert @tab Values(@Istr) while(len(@strTmp)>0) begin set @Istr = left(@strTmp,charindex(',',@strTmp)-1) Insert @tab Values(@Istr) set @strTmp = stuff(@strTmp,1,charindex(',',@strTmp),'') end Return End go CREATE TABLE [maomao365] ( keyId int identity(1,1), url varchar(888) ) go insert into [maomao365](url) values ('http://www.maomao365.com,http://www.163.com'), ('http://www.linux28.com,http://www.qq.com'), ('http://www.baidu.com,http://www.cnblogs.com'), ('http://www.google.com,http://www.dch.com') go SELECT * FROM [maomao365] OUTER APPLY dbo.stringChangeTable(url) go truncate table [maomao365] drop table [maomao365] go drop function dbo.stringChangeTable