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
    

      


  • 相关阅读:
    python_selenium 之logging模块入门及调用实战
    python_selenium 之yaml文件读取(以读取元素信息为例)
    python_selenium_PO模式下显示等待、隐式等待封装,结合Excel读取元素可取默认等待时间配置
    ubuntu WPS的安装
    ubuntu时间网络同步
    shell笔记
    for循环
    循环语句
    流程控制语句
    JavaScript数组
  • 原文地址:https://www.cnblogs.com/adinet/p/2217593.html
Copyright © 2011-2022 走看看