返回顶部
首页 > 资讯 > 数据库 > 【SQL Server】判断两个字符串序列是否有交集
  • 325
分享到

【SQL Server】判断两个字符串序列是否有交集

摘要

1、创建UDF函数 假定有两个均以,作为分隔符字符串序列@m和@n。判断@m和@n是否有交集,我们可以创建如下的函数来实现,返回0为无交集,返回1为有交集。 IF OBJECT_ID(‘Func_IsInner‘) IS NOT NULL


	【SQL Server】判断两个字符串序列是否有交集
[数据库教程]

1、创建UDF函数

假定有两个均以,作为分隔符字符串序列@m@n。判断@m@n是否有交集,我们可以创建如下的函数来实现,返回0为无交集,返回1为有交集。


IF OBJECT_ID(‘Func_IsInner‘) IS NOT NULL DROP FUNCTION Func_IsInner;

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION [dbo].[Func_IsInner]
( @m AS nvarchar(500) ,		--字符串m
  @n AS nvarchar(500) 		--字符串n
)
RETURNS bit
AS
BEGIN
	-- 判断两个‘,‘分隔的字符串是否有交集
	DECLARE @ret BIT, @x nvarchar(510), @y nvarchar(510);
	SET @x = ‘,‘+@m+‘,‘;
	SET @y=‘,‘+@n+‘,‘;
	IF ISNULL(@m, ‘‘)=‘‘ OR ISNULL(@n, ‘‘)=‘‘ 
		SET @ret = 0;
	IF EXISTS(
		SELECT
			result = substring(@x,number,charindex(‘,‘,@x+‘,‘,number)-number)
		FROM master.dbo.spt_values
		WHERE TYPE=‘p‘ AND NUMBER>1 AND NUMBER0)
		 SET @ret = 1;
	ELSE 
		SET @ret = 0;
	RETURN @ret;
END
Go

2、测试结果

根据几个测试case生成的sql脚本:

SELECT ‘测试1 →‘, dbo.Func_IsInner(‘1,a‘, ‘1,s‘) AS ‘result‘;
SELECT ‘测试2 →‘, dbo.Func_IsInner(‘1,a‘, ‘s‘) AS ‘result‘;
SELECT ‘测试3 →‘, dbo.Func_IsInner(‘1,a‘, ‘m,n‘) AS ‘result‘;
SELECT ‘测试4 →‘, dbo.Func_IsInner(‘1,a‘, ‘‘) AS ‘result‘;
SELECT ‘测试5 →‘, dbo.Func_IsInner(‘1,a‘, NULL) AS ‘result‘;
SELECT ‘测试6 →‘, dbo.Func_IsInner(NULL, NULL) AS ‘result‘;

测试结果(output列等于0为无交集,1为有交集):

title output result
测试1 → 1 OK
测试2 → 0 OK
测试3 → 0 OK
测试4 → 0 OK
测试5 → 0 OK
测试6 → 0 OK

原文:https://www.cnblogs.com/itheo/p/14434995.html

作者:Theo·Chan
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任

SQL Server】判断两个字符串序列是否有交集

原文地址:Https://www.cnblogs.com/itheo/p/14434995.html

您可能感兴趣的文档:

--结束END--

本文标题: 【SQL Server】判断两个字符串序列是否有交集

本文链接: https://lsjlt.com/news/8081.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【SQL Server】判断两个字符串序列是否有交集
    1、创建UDF函数 假定有两个均以,作为分隔符字符串序列@m和@n。判断@m和@n是否有交集,我们可以创建如下的函数来实现,返回0为无交集,返回1为有交集。 IF OBJECT_ID(‘Func_IsInner‘) IS NOT NULL...
    99+
    2017-01-18
    【SQL Server】判断两个字符串序列是否有交集 数据库入门 数据库基础教程 数据库 mysql
  • es6如何判断两个字符串是否相等
    这篇文章主要讲解了“es6如何判断两个字符串是否相等”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6如何判断两个字符串是否相等”吧! ...
    99+
    2024-04-02
  • shell怎么判断两个字符串是否相等
    在shell脚本中,可以使用以下方式来判断两个字符串是否相等:1. 使用等号(=)进行判断:```shellif [ "$strin...
    99+
    2023-08-16
    shell
  • php如何判断两个字符串是否相等
    这篇文章主要讲解了“php如何判断两个字符串是否相等”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何判断两个字符串是否相等”吧!方法一:使用“==”运算符最常见的方法是使用“==”运...
    99+
    2023-07-05
  • linux怎么判断两个字符串是否相等
    在Linux系统中,可以使用test命令或[ ]来判断两个字符串是否相等。以下是两种方法: 使用test命令: string1=...
    99+
    2024-03-01
    linux
  • Python字符串比较:如何判断两个字符串是否相等?
    Python字符串比较:如何判断两个字符串是否相等? 在Python编程中,字符串是最常用的数据类型之一。当我们需要比较两个字符串时,通常需要判断它们是否相等。这篇文章将详细介绍Python中比较两个字符串的方法。 使用“==”运算符比较...
    99+
    2023-08-22
    python 开发语言 java Python
  • sql 判断字段是否包含字符串
     CHARINDEX('wonderful', notes)返回结果=0表示 不包含  否则会返回字符串的开始位置查找模式"wonderful"在 titles&nb...
    99+
    2024-04-02
  • es6如何判断字符串中是否有某个字符串
    这篇文章主要介绍了es6如何判断字符串中是否有某个字符串的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇es6如何判断字符串中是否有某个字符串文章都会有所收获,下面我们一起来看看吧。判断方法:1、利用includ...
    99+
    2023-07-05
  • es6怎么判断字符串中是否有某个字符串
    本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。es6判断字符串是否包含子字符串的方法方法1:利用includes()函数ES6的字符串新增了includes方法,我们可以用它来判断是否包含子字符串。s...
    99+
    2023-05-14
    ES6 es6字符串
  • php 判断两个数组是否存在交集
    php判断两个数组是否存在交集的三种情况: 1.array_intersect() 比较两个数组的值,并返回交集: "red","b"=>"green","c"=>"blue","d"=>"yello...
    99+
    2023-09-07
    php 开发语言 python
  • iOS怎么判断字符串中是否含有某个字符串
    在iOS中,可以使用NSString的rangeOfString:方法来判断一个字符串中是否包含另外一个字符串。该方法返回一个NSR...
    99+
    2023-10-21
    iOS
  • Java判断两个集合是否具有交集以及如何获得交集
    Java判断两个集合是否具有交集以及如何获得交集 一、Java判断两个集合是否具有交集1、Collections.disjoint2、CollectionUtils.containsAny3、CollectionUtil.conta...
    99+
    2023-08-17
    java
  • Java判断一个字符串是否包含某个字符串
    开发过程中,有时会判断一个字符串是否包含某个字符串的操作,这里总结判断方法。 方式一:contains()方法         理解:contains() 方法用于判断字符串中是否包含指定的字符或字符串。(判断一个字符串是否包含某个字符串)...
    99+
    2023-09-03
    java
  • php怎么判断两数组是否有交集
    判断步骤:1、利用array_intersect_assoc()函数比较两个数组的键名和键值,语法“array_intersect_assoc(数组1,数组2)”,会返回一个交集数组;2、利用“===”运算符判断交集数组是否为空,语法“交集...
    99+
    2022-07-15
    php php数组
  • php如何判断两数组是否有交集
    本篇内容介绍了“php如何判断两数组是否有交集”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!判断步骤:1、利用array_intersect...
    99+
    2023-07-02
  • c语言怎么判断两个字符串是否一样
    在C语言中,可以使用strcmp()函数来判断两个字符串是否相同。strcmp()函数的原型为:```cint strcmp(con...
    99+
    2023-08-18
    c语言
  • php中判断两个字符串是否相等的方法
    php 中判断字符串相等的方法包括:1. 严格相等运算符 (===) 比较内容和类型;2. 松散相等运算符 (==) 比较内容,容忍类型差异;3. strcmp() 函数进行字符比较,返...
    99+
    2024-04-29
  • php怎么判断两字符串是否相等
    5种方法:1、用“字符串1==字符串2”,如果返回true则相等。2、用“strcmp(字符串1,字符串2)”,如果返回值为0则相等。3、用“strcasecmp(字符串1,字符串2)”,如果返回值为0则相等。4、用“strncasecmp...
    99+
    2022-08-17
    php php字符串
  • Java判断一个字符串是否包含某个字符
    1 问题 如何利用Java通过不同的方法来判断一个字符串是否包含某个字符。 2 方法 .contains方法 这个是利用java.lang.String.contains() 方法返回true,当且仅当此字符串包含指定的char值序...
    99+
    2023-09-11
    java 开发语言 servlet
  • Python中判断字符串是否包含另一个字符串
    Python中判断字符串是否包含另一个字符串 在Python编程中,经常需要判断一个字符串是否包含另一个字符串。这在处理文本数据或搜索操作时非常常见。Python提供了几种方法来实现这个功能,本文将介...
    99+
    2023-10-18
    python mysql 数据库 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作