葉子函式分享四十六 獲取元素個數的函式

2021-08-25 18:35:45 字數 973 閱讀 9143

go

create

function getstrarrlength (@str varchar

(8000))

returns

intas

begin

declare @int_return int

declare @start int

declare @next int

declare @location int

select @str =

','+ @str +

','select @str=

replace

(@str,

',,'

,','

)select @start =1

select @next =1

select @location =

charindex

(','

,@str,@start)

while

(@location <>0)

begin

select @start = @location +1

select @location =

charindex

(','

,@str,@start)

select @next =@next +1

endselect

@int_return = @next-2

return

@int_return

end

-- 測試示例

select

[dbo].[getstrarrlength](

'1,2,3,4,a,b,c,d')

--執行結果 /*

8 */

/* 說明:

我開始考慮直接看逗號的個數,用replace替換逗號,求長度差就可以了,但是這裡這個函式兩個逗號相鄰做了處理。

*/

葉子函式分享四十四 全形半形轉換函式

此函式部分思路參考了 csdn 上大力的轉換函式 鄒建 2005.01 引用請保留此資訊 go 建立函式 create function sbc2dbc str nvarchar 4000 要轉換的字串 flag bit 轉換標誌 0轉換成半形 1轉換成全角 returns nvarchar 400...

葉子函式分享四十四 全形半形轉換函式

此函式部分思路參考了csdn上大力的轉換函式 鄒建2005.01 引用請保留此資訊 go 建立函式 create function sbc2dbc str nvarchar 4000 要轉換的字串 flag bit 轉換標誌,0轉換成半形,1轉換成全角 returns nvarchar 4000 a...

葉子函式分享四 綜合模糊查詢

建立函式 create function dbo m fuzzyquery v1 str nvarchar 2000 returns nvarchar 2000 as begin declare count int i int declare newchar nvarchar 200 nn nvar...