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

