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...