zoukankan      html  css  js  c++  java
  • Sql Server 2005中查询用分隔符分割的内容中是否包含其中一个内容

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

    有产品分类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返回值的,哪位兄弟会的希望帮忙解决一下....

    Jeeris兄弟给我指正了错误,呵呵,修改了一下.

    继续欢迎拍砖~~

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    /*
    -- =============================================
    -- Author:		<饭饭>
    -- Create date: <2011-10-19>
    -- Description:	<查询分隔符分割的数据是否包含某项>
    -- =============================================
    */
    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
    

      


  • 相关阅读:
    git学习(一)
    访问注解(annotation)的几种常见方法
    对于元数据的理解
    常用注解介绍
    深入理解Java的接口和抽象类
    POI依据类型设置导出格式
    java泛型
    java 向上转型和向下转型
    cell设置背景颜色为啥不起作用
    Java反射获取对象VO的属性值(通过Getter方法)
  • 原文地址:https://www.cnblogs.com/adinet/p/2217593.html
Copyright © 2011-2022 走看看