两个字符串,以特定符号分隔(例如‘,’号),求交集

第一种情况:

declare @m varchar(100),@n varchar(100)
select
@m=',2,3,5,7,8,9,10,',
@n=',1,3,6,8,10,'
select
--count(1)
result=substring(@m,number,charindex(',',@m,number)-number)
from master..spt_values
where number<len(@m) and type='p' and number>1
and substring(','+@m,number,1)=','
and charindex(substring(@m,number-1,charindex(',',@m,number)-number+2),@n)>0

第二种情况:

declare @m varchar(100),@n varchar(100)
select
@m='2,3,5,7,8,9,10',
@n='1,3,6,8,10'
select
--COUNT(1)
result=substring(@m,number,charindex(',',@m+',',number)-number)
from master.dbo.spt_values
where type='p' and number>1 and number<len(@m)
and substring(','+@m,number,1)=','
and charindex(substring(@m,number-1,charindex(',',@m+',',number)-number + 2),','+@n)>0

以上两种情况,如果把“result=”那一行的sql语句换成count(1),则可以用来判断两个字符串是否有交集,count的结果值大于0就是有交集(count的数值就是交集的字符个数)

如果要把所有交集的字符都输出,那么就用“result=”那一行就可以了。

SQLServer中求两个字符串的交集(字符串以符号分隔)的更多相关文章

  1. python中求两个List的交集、并集和差集

    直接上代码,有三种方法,第三种调用库函数效率最高 # ! /usr/bin/env python # encoding:utf-8 if __name__ == '__main__': a = [1, ...

  2. 求两个集合的交集和并集C#

    我是用hashset<T>来实现的 具体如代码所示 using System; using System.Collections.Generic; using System.Linq; u ...

  3. java用最少循环求两个数组的交集、差集、并集

    import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List ...

  4. java使用bitmap求两个数组的交集

    一般来说int代表一个数字,但是如果利用每一个位 ,则可以表示32个数字 ,在数据量极大的情况下可以显著的减轻内存的负担.我们就以int为例构造一个bitmap,并使用其来解决一个简单的问题:求两个数 ...

  5. java求两个集合的交集和并集,比较器

    求连个集合的交集: import java.util.ArrayList; import java.util.List; public class TestCollection { public st ...

  6. SQL Server中取两个表的交集,并集和差集

    在项目中遇到要取两个表差集的情况 假设有两个表tblNZPostCodes, NZPostcode  两个表中存储的都是新西兰的post code信息,字段一致,只是数据上有所差异. 1. Union ...

  7. leetcode-350-Intersection of Two Arrays II(求两个数组的交集)

    题目描述: Given two arrays, write a function to compute their intersection. Example:Given nums1 = [1, 2, ...

  8. 求两个list的交集和并集

    两个list的并集,只需去除重复元素即可: 将两个list放入同一个set中即可: 两个list的交集: 1将其中一个list放入set, 2循环另一个list,每次向set塞值, 3判断set的总数 ...

  9. [LeetCode] 160. Intersection of Two Linked Lists 求两个链表的交集

    Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...

随机推荐

  1. office套件

    一.PDF模块 使用PyPDF2模块 pip install PyPDF2 1.1 从PDF读取数据 直接读取,并打印出来.但是这种打印存在一个问题,不能中文字符 import PyPDF2 impo ...

  2. PKUSC2013 BUG集锦

    如果今年考试真的是这个难度,那比的就是速度和准确度了…… a A:不明觉厉 B:推公式后不明觉厉 C:树的HASH D:不明觉厉 E:QAQ 复制代码'-'忘改'+' WA×1, F:QAQ 请输出 ...

  3. MongoHelper.cs

    using System; using MongoDB.Bson; using MongoDB; using System.Web; using MongoDB.Driver; namespace Y ...

  4. dilworth定理+属性排序(木棍加工)

    P1233 木棍加工 题目描述 一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的.棍子可以被一台机器一个接一个地加工.机器处理一根棍子之前需要准备时间.准备时间是这样定义的: 第一根棍子的准备时间 ...

  5. java读取resource/通过文件名获取文件类型

    java读取resource java读取resource目录下文件的方法: 借助Guava库的Resource类 Resources.getResource("test.txt" ...

  6. 使用stringstream类

    当需要格式化int类型为字符串时,可以使用这个类, 需要包含这个文件头: #include <sstream> 然后这样使用: //打开保存进度的RPG文件. std::stringstr ...

  7. [置顶] 针对 CoordinatorLayout 及 Behavior 的一次细节较真

    我认真不是为了输赢,我就是认真.– 罗永浩 我一直对 Material Design 很感兴趣,每次在官网上阅读它的相关文档时,我总会有更进一步的体会.当然,Material Design 并不是仅仅 ...

  8. Java 保存对象到文件并恢复 ObjectOutputStream/ObjectInputStream

    1.从inputFile文件中获取内容,读入到set对象: 2.然后通过ObjectOutputStream将该对象保存到outputFile文件中: 3.最后通过ObjectInputStream从 ...

  9. ZooKeeper 学习资料积累

    跟着实例学习ZooKeeper的用法: 临时节点 跟着实例学习ZooKeeper的用法: 缓存 跟着实例学习ZooKeeper的用法: 队列 跟着实例学习ZooKeeper的用法: Barrier 跟 ...

  10. VS2010对c++11的支持情况验证

    目前仅仅测试工作中 使用的比较多的: 智能指针 shared_ptr #include <memory> std::shared_ptr<A> a(new A); ----支持 ...