zl程序教程

您现在的位置是:首页 >  其它

当前栏目

SqlServer2005中查询用分隔符分割的内容中是否包含其中一个内容

查询 一个 是否 内容 包含 分割 其中 sqlserver2005
2023-06-13 09:14:31 时间

今天做项目遇到一个问题,

有产品分类A,B,C顶级分类,

期中A下面有a1,a2,a3子分类.

但是a1可能共同属于A和B,然后我的数据库是这样设计的  

     id         name        parnet   1 A 0 2 B 0 3 a1 1,2

如果想要查询A的所有子类的话就要查询parent中包含1的,所以就萌生了这个办法.呵呵,

暂时没什么好办法,欢迎拍砖~~

另外,这个东西我想弄成bool返回值的,哪位兄弟会的希望帮忙解决一下....

复制代码代码如下:

SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
/*
--=============================================
--Author:<饭饭>
--Createdate:<2011-10-19>
--Description:<查询分隔符分割的数据是否包含某项>
--=============================================
*/
ALTERFunction[dbo].[HasKey](@DataStrvarchar(100),@keyvarchar(8))
returnsint
as
begin
declare@return_strvarchar(50)
declare@isokbit
declare@posiint
set@isok=0
--set@DataStr="a,aaaa,aaaddd,ffass"
--set@key="aaaa"
set@DataStr=@DataStr+","
whilelen(@DataStr)>0and@isok=0
begin
set@posi=charindex(",",@DataStr)
set@return_str=replace(substring(@DataStr,1,charindex(",",@DataStr)),",","")
set@DataStr=substring(@DataStr,@posi+1,len(@DataStr))
if(@return_str=@key)
begin
set@isok=1
break
end
end
return@isok
end
GO