Sql Server 2005中查詢用分隔符分割的內(nèi)容中是否包含其中一個(gè)內(nèi)容
今天做項(xiàng)目遇到一個(gè)問(wèn)題,
有產(chǎn)品分類A,B,C頂級(jí)分類,
期中A下面有a1,a2,a3子分類.
但是a1可能共同屬于A和B,然后我的數(shù)據(jù)庫(kù)是這樣設(shè)計(jì)的
| id | name | parnet |
| 1 | A | 0 |
| 2 | B | 0 |
| 3 | a1 | 1,2 |
如果想要查詢A的所有子類的話就要查詢parent中包含1的,所以就萌生了這個(gè)辦法.呵呵,
暫時(shí)沒(méi)什么好辦法,歡迎拍磚~~
另外,這個(gè)東西我想弄成bool返回值的,哪位兄弟會(huì)的希望幫忙解決一下....
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
-- =============================================
-- Author: <飯飯>
-- Create date: <2011-10-19>
-- Description: <查詢分隔符分割的數(shù)據(jù)是否包含某項(xiàng)>
-- =============================================
*/
ALTER Function [dbo].[HasKey](@DataStr varchar(100),@key varchar(8))
returns int
as
begin
declare @return_str varchar(50)
declare @isok bit
declare @posi int
set @isok = 0
--set @DataStr = 'a,aaaa,aaaddd,ffass'
--set @key = 'aaaa'
set @DataStr = @DataStr+','
while len(@DataStr) > 0 and @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
相關(guān)文章
解決SQL2005備份數(shù)據(jù)庫(kù).dat或bak還原時(shí)的結(jié)構(gòu)錯(cuò)誤的解決方法
已備份數(shù)據(jù)庫(kù)的磁盤上結(jié)構(gòu)版本為611. 服務(wù)器支持版本539, 無(wú)法還原或升級(jí)此數(shù)據(jù)庫(kù),RESTORE DATABASE 操作異常終止。2011-02-02
SQL Server 連接到服務(wù)器 錯(cuò)誤233的解決辦法
最近SqlServer有點(diǎn)大姨媽,開(kāi)始報(bào)錯(cuò)233,詳細(xì)如下:已成功與服務(wù)器建立連接,但是在登錄過(guò)程中發(fā)生錯(cuò)誤。(provider:命名管道提供程序,error:0-管道的另一端上無(wú)任何進(jìn)程。)(Microsoft SQL Server,錯(cuò)誤:233)2014-08-08
SQLServer 2005 控制用戶權(quán)限訪問(wèn)表圖文教程
SQL Server權(quán)限管理很簡(jiǎn)單的一小塊,有些地方并沒(méi)有深入理解和講述,只是希望對(duì)一些剛?cè)腴T的童鞋有幫助,其它大俠就當(dāng)是:我當(dāng)堂嚇一跳,然后得啖笑。2011-07-07
SQL Server 2005中的外聯(lián)結(jié)用法
這篇文章主要介紹了SQL Server 2005中的外聯(lián)結(jié)用法 ,需要的朋友可以參考下2014-08-08
SQLServer2005 Output子句獲取剛插入的ID值
SQLServer2005的Output子句獲取剛插入的ID值2009-08-08
SQL Server 移動(dòng)系統(tǒng)數(shù)據(jù)庫(kù)
SQL Server中系統(tǒng)數(shù)據(jù)庫(kù)有master、model、msdb、tempdb四個(gè)數(shù)據(jù)庫(kù),對(duì)于一般的庫(kù),我們要移動(dòng)他們的位置,只需分離附加即可,而這些系統(tǒng)數(shù)據(jù)庫(kù)沒(méi)有分離的選項(xiàng),那要怎么移動(dòng)他們呢?2016-05-05
同時(shí)安裝vs2005團(tuán)隊(duì)開(kāi)發(fā)版和sql 2005企業(yè)版的方法(downmoon原作)
由于微軟在vs2005 vsts團(tuán)隊(duì)開(kāi)發(fā)版中集成了sql 2005 express,而在SQL 2005中又集成了vs2005 Express,,所以當(dāng)很多用戶同時(shí)安裝vs2005團(tuán)隊(duì)開(kāi)發(fā)?:?sql 2005企業(yè)版(downmoon)時(shí),就會(huì)出現(xiàn)數(shù)據(jù)庫(kù)連接失敗的case2012-10-10
SQL Server CROSS APPLY和OUTER APPLY的應(yīng)用詳解
SQL Server數(shù)據(jù)庫(kù)操作中,在2005以上的版本新增加了一個(gè)APPLY表運(yùn)算符的功能2011-10-10

