-- 乙個字段裡面的值是 roleinfo表的id '1,2,3,4,5' 如何根據 該字段的值查詢到 roleinfo 的名稱
select stuff( (select ','+rloename from roleinfo where rolesid in (select * from f_splitstring('1,2,3',',')) for xml path('')),1,1,'')
-- 字串轉換為datatable ,以方便查詢用
create function strtotable(@str varchar(1000),@splitstr nvarchar(50))
returns @tablename table
( str2table varchar(50)
) as
begin
if(len(@splitstr) =0)
begin
set @splitstr = ','
end
set @str = @str+@splitstr
declare @insertstr varchar(50) --擷取後的第乙個字串
declare @newstr varchar(1000) --擷取第乙個字串後剩餘的字串
set @insertstr = left(@str,charindex(@splitstr,@str)-1)
set @newstr = stuff(@str,1,charindex(@splitstr,@str),'')
insert @tablename values(@insertstr)
while(len(@newstr)>0)
begin
set @insertstr = left(@newstr,charindex(@splitstr,@newstr)-1)
insert @tablename values(@insertstr)
set @newstr = stuff(@newstr,1,charindex(@splitstr,@newstr),'')
end
return
end
SQL Server 自定義字串分割函式
原文 sql server 自定義字串分割函式 一 按指定符號分割字串,返回分割後的元素個數,方法很簡單,就是看字串中存在多少個分隔符號,然後再加一,就是要求的結果 標量值函式 1 create function func strarraylength 2 3 str varchar 1024 要分...
C 中建立SQLServer的自定義聚合函式
1.建立 使用vs2005的 聚合函式 模板建立,實現以下幾個方法 init 給每個要聚合的新組初始化 accumulate 將每個值聚合 merge 將乙個聚合組的結果新增到當前組中 terminate 返回結果 2.部署 通過vs2005部署自動在sqlserver中建立聚合函式 3.使用 在s...
自定義實現strcmp,atoi,itoa函式
1.mystrcmp函式,字串比較 abc x abc abc ab aa 第乙個大於第二個則返回正數,相等返回0,第乙個小於第二個返回負數。include include intmystrcmp const char str1,const char str2 int tmp 0 while tmp...