• 医生多维度条件查询函数


    USE [DoctorInfo]
    GO
    /****** Object:  UserDefinedFunction [dbo].[DoctorMultiQuery]    Script Date: 12/12/2015 20:36:41 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER FUNCTION [dbo].[DoctorMultiQuery](
        @splitstring NVARCHAR(4000),
        @querystring NVARCHAR(4000)
    )
    RETURNS int
    AS
    BEGIN
     DECLARE @result  INT,@index1 INT, @index2 INT ,@sourcestring nvarchar(9),@valuestring nvarchar(9)
     SET @result=0
     IF(charindex(',',@splitstring)=0)
        BEGIN
            SET @sourcestring=@splitstring    
            IF(charindex(',',@querystring)=0)
                BEGIN
                    IF(@splitstring=@querystring)
                        BEGIN
                            SET @result=1
                        END
                END        
            ELSE
                BEGIN
                     while(charindex(',',@querystring)<>0)
                        BEGIN
                            --第一个','之前的字符串
                            SET @index2=charindex(',',@querystring)
                            SET @valuestring=substring(@querystring,1,@index2-1)        
                            IF(@sourcestring=@valuestring)
                                BEGIN
                                 SET @result=1
                                 BREAK
                                END
                            ELSE
                                BEGIN
                                     --将第一个','后面的字符串重新赋给@ids
                                       set @querystring=stuff(@querystring,1,@index2,'')
                                       --最后一个字符串
                                      if(charindex(',',@querystring)=0)
                                       begin
                                          IF(@sourcestring=@querystring)
                                            BEGIN
                                             SET @result=1
                                            END
                                       END
                                END
                        END
                END
        END
    else
        begin
              while(charindex(',',@splitstring)<>0)
              begin
               --第一个','之前的字符串
               SET @index1=charindex(',',@splitstring)
               SET @sourcestring=substring(@splitstring,1,@index1-1)
                    IF(charindex(',',@querystring)=0)
                        BEGIN
                            IF(@sourcestring=@querystring)
                                BEGIN
                                    SET @result=1
                                    BREAK
                                END
                        END
                    ELSE
                        BEGIN
                           while(charindex(',',@querystring)<>0)
                                BEGIN
                                    --第一个','之前的字符串
                                    SET @index2=charindex(',',@querystring)
                                    SET @valuestring=substring(@querystring,1,@index2-1)    
                                    IF(@sourcestring=@valuestring)
                                        BEGIN
                                         SET @result=1
                                         BREAK
                                        END
                                    ELSE
                                        BEGIN
                                             --将第一个','后面的字符串重新赋给@ids
                                               set @querystring=stuff(@querystring,1,@index2,'')
                                               --最后一个字符串
                                              if(charindex(',',@querystring)=0)
                                               begin
                                                  IF(@sourcestring=@querystring)
                                                    BEGIN
                                                     SET @result=1
                                                    END
                                               END
                                        END
                                END
                            END
                            
                IF(@result=1)
                    BEGIN
                        BREAK;
                    END
                ELSE
                    BEGIN
                       --将第一个','后面的字符串重新赋给@ids
                       set @splitstring=stuff(@splitstring,1,@index1,'')
                       
                       --最后一个字符串
                      if(charindex(',',@splitstring)=0)
                       begin
                          SET @sourcestring=@splitstring
                        IF(charindex(',',@querystring)=0)
                            BEGIN
                                IF(@sourcestring=@querystring)
                                    begin
                                        SET @result=1
                                    END
                            END
                        ELSE
                            begin
                                while(charindex(',',@querystring)<>0)
                                BEGIN
                                    --第一个','之前的字符串
                                    SET @index2=charindex(',',@querystring)
                                    SET @valuestring=substring(@querystring,1,@index2-1)            
                                    IF(@sourcestring=@valuestring)
                                        BEGIN
                                         SET @result=1
                                         BREAK
                                        END
                                    ELSE
                                        BEGIN
                                             --将第一个','后面的字符串重新赋给@ids
                                               set @querystring=stuff(@querystring,1,@index2,'')
                                               --最后一个字符串
                                              if(charindex(',',@querystring)=0)
                                               begin
                                                  IF(@sourcestring=@querystring)
                                                    BEGIN
                                                     SET @result=1
                                                    END
                                               END
                                        END
                                    END
                            END
                       END
                END
              END
    END
        return @result
    END

  • 相关阅读:
    Hello CnBlog
    boxshadow
    箭头函数
    Web存储机制
    闭包
    HTTP Cookie
    javascript执行环境和作用域链
    BFC
    iOS开发之创建颜色渐变视图View
    iOS之中国银联移动支付控件升级的问题
  • 原文地址:https://www.cnblogs.com/chenjt/p/5041795.html
Copyright © 2020-2023  润新知