`
izuoyan
  • 浏览: 9375585 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SQLServer中求两个字符串的交集

阅读更多
代码高亮有点问题,测试时把@ str替换为@str

使用javascript的数组来计算,代码如下:
use tempdb
go
if (object_id ('fn_getArray' ) is not null )
drop function dbo . fn_getArray
go
create function fn_getArray (@ inStr1 varchar (8000 ), @ inStr2 varchar (8000 ))
returns varchar (8000 )
as
begin
declare @ str varchar (8000 )
set @ str = '
var a = [''' + replace (@ inStr1 , ',' , ''',''' )+ '''];
var b = [''' + replace (@ inStr2 , ',' , ''',''' )+ '''];
var c=""
for (var i=0;i<a.length;i++)
{
for (var j=0;j<b.length;j++)
{ if(a[i]==b[j]&&c.indexOf(a[i])<0)
c+=a[i]+","
}
}
'
declare @ object int
declare @ r varchar (800 )
exec sp_OACreate 'MSScriptControl.ScriptControl' , @ object output
exec sp_OASetProperty @ object , 'Language' , 'javascript'
exec sp_OAMethod @ object , 'eval' , @ r out , @ str
return @ r
end
go
select dbo . fn_getArray ('abc,dced,f23e,gew432' , '23c,abc,f23e,geafd,ged' )


/* 输出
abc,f23e,
*/
分享到:
评论

相关推荐

    SQL Server模拟试题(八)

    15. INNER JOIN操作返回两个表中满足条件的交集,即共同存在的行。 填空题答案: 1. 客户/服务器数据库 2. 一个或多个 3. 非聚簇索引 4. 数据库 5. UPDATE类型、DELETE类型 6. COUNT() 7. 完全备份、差异备份 8. ...

    SQL SERVER 2000开发与管理应用实例

    3.5.2 字符串交集/并集 75 3.5.3 分拆字符串并统计 78 3.5.4 借用字符串实现无规律排序 82 3.5.5 列车车次查询 82 3.6 字符串在动态Transact-SQL语句中的应用 85 3.6.1 动态Transact-SQL语句概述 ...

    sqlserver经典脚本大全.zip

    1.9.1 设置内存选项 1.9.2(2) 使用文件及文件组 1.9.2(3) 调整tempdb数据库的文件属性 2.1 日期概念理解中的一些测试 ...3.5.2 字符串并集&交集处理示例 3.5.3 字符串分拆并统计的处理示例 3.5.5 字符串处理示例--

    Sqlserver2000经典脚本

    -格式化.sql │ 得到一个字符串在另一个字符串中出现的次数.sql │ 数字转换成十六进制.sql │ 比较第一与第二个字符串,是否有连续的5个字符相同.sql │ 生成查询的模糊匹配字符串.sql │ 简繁...

    使用Sql Server中所遇到的问题处理及相应知识点整理

    `INTERSECT`命令用于找出两个查询结果中的共同部分,即两个结果集合的交集。 ```sql SELECT Column1, Column2 FROM Table1 INTERSECT SELECT Column1, Column2 FROM Table2; ``` ##### (四)性能优化 - **SQL性能...

    sqlserver2000基础(高手也有用)

    3.5.2 字符串交集/并集 75 3.5.3 分拆字符串并统计 78 3.5.4 借用字符串实现无规律排序 82 3.5.5 列车车次查询 82 3.6 字符串在动态Transact-SQL语句中的应用 85 3.6.1 动态Transact-SQL语句概述 85 ...

    SQLServer2008T-SQL查询基础中文版

    本资源为"SQLServer2008T-SQL查询基础中文版"的付费电子书,适合初学者和希望深入理解T-SQL查询的开发者学习和收藏。 T-SQL是SQL Server中的核心组成部分,它不仅包含了标准SQL的查询语句,如SELECT、INSERT、...

    基于SQL Server中如何比较两个表的各组数据 图解说明

    在SQL Server中,比较两个表的各组数据是一项常见的任务,尤其在数据分析和数据整合时。本文将通过实例讲解如何在具有相同结构的表中进行此类比较,以满足特定的需求。我们将探讨两种实用的方法,结合图解来帮助理解...

    SQL Server操作全集

    - `INTERSECT`返回两个查询结果的交集。 2. **连接操作**:`LEFT OUTER JOIN`, `RIGHT OUTER JOIN`, `FULL OUTER JOIN`用于连接多个表,根据连接条件选择不同的记录组合。 ### 扩展SQL功能 1. **插入空表**:通过...

    经典SQL脚本大全

    │ 得到一个字符串在另一个字符串中出现的次数.sql │ 数字转换成十六进制.sql │ 比较第一与第二个字符串,是否有连续的5个字符相同.sql │ 生成查询的模糊匹配字符串.sql │ 简繁转换.sql │ 统计一个表中某个字符...

    Sql函数集合

    - `CONCAT()`:连接两个或更多字符串。 - `SUBSTRING()`:提取字符串的一部分。 - `LEN()`:返回字符串的长度。 - `UPPER()`和`LOWER()`:分别将字符串转换为大写和小写。 - `TRIM()`:去除字符串两侧的空白...

    程序员的SQL金典.rar

     5.1.14 求两个变量的反正切  5.1.15 求余切  5.1.16 求圆周率π值  5.1.17 弧度制转换为角度制  5.1.18 角度制转换为弧度制  5.1.19 求符号  5.1.20 求整除余数  5.1.21 求自然对数  5.1.22 求以10为底的...

    程序员的SQL金典7-8

     5.1.14 求两个变量的反正切  5.1.15 求余切  5.1.16 求圆周率π值  5.1.17 弧度制转换为角度制  5.1.18 角度制转换为弧度制  5.1.19 求符号  5.1.20 求整除余数  5.1.21 求自然对数  5.1.22 求以10为底的...

    经典SQL语句大全

    2. **Substring**: 该函数可以从一个字符串中截取出一部分。语法如下: ```sql SELECT substring('Hello World', 1, 5); ``` 其中,第一个参数是要处理的字符串,第二个参数是起始位置(从1开始),第三个参数是...

    SQL语句笔记

    - `INTERSECT`:返回两个查询结果的交集。 - `MINUS`:返回在第一个查询中存在但在第二个查询中不存在的行。 #### 三、综合实例分析 - **复杂条件查询** - `SELECT lastname, years * 12 - leaveTaken AS ...

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

    函数接收两个参数:`@SplitString`为要拆分的字符串,`@Separator`为分隔符,默认值为空格。函数内部使用了一个循环结构,通过`CHARINDEX`函数找到每个分隔符的位置,并使用`SUBSTRING`函数提取出每个元素,然后插入...

    sql函数大全

    - `CONCAT(str1, str2, ...)`:将多个字符串连接成一个。 - `UPPER(str)` / `LOWER(str)`:将字符串转换为大写/小写。 - `SUBSTRING(str, start, length)`:提取字符串的一部分。 - `REPLACE(str, old_str, new_...

    SQL语句大全【经典教程】.pdf

    - **INTERSECT运算符**:返回两个或多个SELECT语句结果集的交集。 - **MINUS运算符**:返回第一个SELECT语句的结果集中不存在于第二个SELECT语句的结果集中的行。 - **字符串函数**(如CONCATENATE, SUBSTRING, TRIM...

Global site tag (gtag.js) - Google Analytics