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

  • 相关阅读:
    动态规划例题
    c++ 进制转换函数
    约瑟夫问题
    set的基本使用
    stl中的二分查找
    1.生成的接口返回参数不包括系统自带的参数
    查看被锁定的表,并解锁
    添加、修改表中的字段
    NPOI简单示例2—合并表头
    NPOI简单示例
  • 原文地址:https://www.cnblogs.com/lori/p/2245489.html
Copyright © 2011-2022 走看看