zoukankan      html  css  js  c++  java
  • (SQL)比较一个集合是否在另一个集合里存在的方法

    DECLARE @c INT
    DECLARE @c2 INT
    SELECT  @c = COUNT(1)
    FROM    dbo.SplitToTable('1|2|3|4', '|')
    SELECT @c2=COUNT(1)
    FROM    dbo.SplitToTable('1|2|3|4', '|') a
            INNER JOIN dbo.SplitToTable('1|2|3|', '|') b ON a.value = b.value
    IF @c = @c2
             SELECT  'ok'
      ELSE
    SELECT 'no'

     

    SplitToTable这个函数如下:

    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go

    ALTER FUNCTION [dbo].[SplitToTable]
        (
          @SplitString NVARCHAR(MAX) ,
          @Separator NVARCHAR(10) = ' '
        )
    RETURNS @SplitStringsTable TABLE
        (
          [id] INT IDENTITY(1, 1) ,
          [value] NVARCHAR(MAX)
        )
    AS
            BEGIN
                DECLARE @CurrentIndex INT ;
                DECLARE @NextIndex INT ;
                DECLARE @ReturnText NVARCHAR(MAX) ;
                SELECT  @CurrentIndex = 1 ;
                WHILE ( @CurrentIndex <= LEN(@SplitString) )
                    BEGIN
                        SELECT  @NextIndex = CHARINDEX(@Separator, @SplitString,
                                                       @CurrentIndex) ;
                        IF ( @NextIndex = 0
                             OR @NextIndex IS NULL
                           )
                            SELECT  @NextIndex = LEN(@SplitString) + 1 ;
                        SELECT  @ReturnText = SUBSTRING(@SplitString,
                                                        @CurrentIndex,
                                                        @NextIndex - @CurrentIndex) ;
                        INSERT  INTO @SplitStringsTable
                                ( [value] )
                        VALUES  ( @ReturnText ) ;
                        SELECT  @CurrentIndex = @NextIndex + 1 ;
                    END
                RETURN ;
            END

  • 相关阅读:
    Git-更新数据
    iOS开发-基本的网络知识
    iOS开发-单例模式
    iOS开发-多线程知识
    iOS开发-核心动画随笔
    iOS开发-关于网络状态的判断
    毕业设计--天气预报App
    iOS开发-UIColor转UIIamge方法
    iOS开发-用预处理指令代替注释
    JMS 消息服务
  • 原文地址:https://www.cnblogs.com/lori/p/2245489.html
Copyright © 2011-2022 走看看