SQLServer中求两个字符串的交集
来源:互联网 发布:什么是淘宝内容营销 编辑:程序博客网 时间:2024/05/16 12:59
代码高亮有点问题,测试时把@ 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,
*/
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,
*/
- SQLServer中求两个字符串的交集
- 求两个字符串的交集
- c#中求两个数组的交集
- hibernate 与MYSQL 求两个字符串数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个Collection的交集
- 求两个集合的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 汇集平时用到的一些命令
- Struts 2之HelloWorld(中)
- gridview 动态加载模板列
- Solaris10 ISO镜像文件的下载地址
- DataProvider几种格式的写法
- SQLServer中求两个字符串的交集
- 如何快速生成 UUID GUID
- 数据流图(DFD)
- 单电源运放应用图集
- 用注册表信息来保存窗体的打开信息
- 关于oracle 内、外连接的若干问题
- 如何删除Archivelog
- BOOLEAN、BOOL的数据类型一样吗?
- 开博第一篇