set ansi_nulls on
set quoted_identifier on
goalter function [dbo].[get_strarraystrofindex]
(@str varchar(1024), --要分割的字串
@split varchar(10), --分隔符號
@index int --取第幾個元素
)returns varchar(1024)
asbegin
declare @location int
declare @start int
declare @next int
declare @seed int
set @str=ltrim(rtrim(@str))
set @start=1
set @next=1
set @seed=len(@split)
set @location=charindex(@split,@str)
while @location<>0 and @index>@next
begin
set @start=@location+@seed
set @location=charindex(@split,@str,@start)
set @next=@next+1
endif @location =0 select @location =len(@str)+1
--這兒存在兩種情況:、字串不存在分隔符號2、字串中存在分隔符號,跳出while迴圈後,@location為,那預設為字串後邊有乙個分隔符號。
return substring(@str,@start,@location-@start)
end
mapreduce中分割字串
剛學mapreduce沒多久,在預設的輸入分片中,經常要對一行的資料進行劃分,如果資料的格式劃分的清除,在分割這一行資料的時候也就好劃分了,但是有時候,資料的格式並不規整,所以劃分起來就得多寫些 了。例如 204001 01 02 03 07 10 25 07這種資料之間的間距是一樣的都是乙個空格的...
C C 中分割字串
我最憐君中宵舞 道 男兒到死心如鐵 看試手,補天裂 解析http響應報文的時候,響應頭中除了第一行,其他行都是key value結構,怎麼高效方便地解析成map型別的資料呢?我首先想到的就是sscanf函式,於是寫了如下程式 include intmain 然後輸出卻是 sss 顯然不行,於是開始上...
SQL分割字串
t sql對字串的處理能力比較弱,比如我要迴圈遍歷象1,2,3,4,5這樣的字串,如果用陣列的話,遍歷很簡單,但是t sql不支援陣列,所以處理下來比較麻煩。下邊的函式,實現了象陣列一樣去處理字串。一,用臨時表作為陣列 create function f split c varchar 2000 s...