• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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
    上一篇:SQL Server修改标识列方法 如自增列的批量化修改
    下一篇:sqlserver isnull在数据库查询中的应用
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    SQL 比较一个集合是否在另一个集合里存在的方法分享 SQL,比较,一个,集合,是否,