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

  • 相关阅读:
    MySQL效能监控工具mysqlreport安装和中文说明
    mysql的配置文件my.cnf
    MySQL的高可用设计方案的记录
    jQuery 求页面加载等待特效
    如果客户端禁用cookie,session还能使用吗?
    heartbeat重要文件的配置参数说明
    MySQL的索引类型和左前缀索引
    比较一下Linux下的Epoll模型和select模型的区别
    网络防火墙和NAT地址转换
    Postfix+dovecot搭建简单邮箱服务器
  • 原文地址:https://www.cnblogs.com/lori/p/2245489.html
Copyright © 2011-2022 走看看