【專案實戰】---統計逗號隔開的字串的數量

一路向前!發表於2017-11-19

前言:

在專案中用到了儲存過程,在實現的過程中,發現儲存過程對於陣列是不支援的,進而通過後臺傳遞字串到儲存過程,來達到想要的效果。對應傳遞來的字串當時也理所應當的用了len函式來求它的長度,感覺還很正確,沒有發現哪裡不合適,真正實現的時候效果不正確,插入操作出現了多餘的空行,後來除錯儲存過程才發現這個問題。對於將陣列中原本的元素通過逗號分隔,存入字串並不能像求陣列的長度一樣直接用length函式來求長度,其實是要統計字串中逗號隔開的字串的數量。

程式碼:

-- =============================================
-- Author:		<ytm>
-- Create date: <2017-11-13 10:59:26>
-- Description:	<統計逗號隔開的字串的數量>
-- =============================================
CREATE function [dbo].[func] 
(@var varchar(500) ,@split char(1) ) //字串,分隔符
RETURNS int 
AS  
BEGIN 
	declare @cur char(1)
	declare @i int
select @i = 0
	declare @total int
	select @total = len(@var)
	declare @num int          
select @num = 1
while @i<=@total
begin
	select @i = @i + 1
	select @cur = substring(@var,@i,1)
if @cur = @split 
select @num = @num+1
end
return @num 
END

總結:

在實現的過程中要多多思考,不要想當然,同時也要多多的分析,找出問題的原因,對症下藥。

相關文章