代码高亮有点问题,测试时把@ 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,
*/
分享到:
相关推荐
15. INNER JOIN操作返回两个表中满足条件的交集,即共同存在的行。 填空题答案: 1. 客户/服务器数据库 2. 一个或多个 3. 非聚簇索引 4. 数据库 5. UPDATE类型、DELETE类型 6. COUNT() 7. 完全备份、差异备份 8. ...
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语句概述 ...
1.9.1 设置内存选项 1.9.2(2) 使用文件及文件组 1.9.2(3) 调整tempdb数据库的文件属性 2.1 日期概念理解中的一些测试 ...3.5.2 字符串并集&交集处理示例 3.5.3 字符串分拆并统计的处理示例 3.5.5 字符串处理示例--
-格式化.sql │ 得到一个字符串在另一个字符串中出现的次数.sql │ 数字转换成十六进制.sql │ 比较第一与第二个字符串,是否有连续的5个字符相同.sql │ 生成查询的模糊匹配字符串.sql │ 简繁...
`INTERSECT`命令用于找出两个查询结果中的共同部分,即两个结果集合的交集。 ```sql SELECT Column1, Column2 FROM Table1 INTERSECT SELECT Column1, Column2 FROM Table2; ``` ##### (四)性能优化 - **SQL性能...
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查询基础中文版"的付费电子书,适合初学者和希望深入理解T-SQL查询的开发者学习和收藏。 T-SQL是SQL Server中的核心组成部分,它不仅包含了标准SQL的查询语句,如SELECT、INSERT、...
在SQL Server中,比较两个表的各组数据是一项常见的任务,尤其在数据分析和数据整合时。本文将通过实例讲解如何在具有相同结构的表中进行此类比较,以满足特定的需求。我们将探讨两种实用的方法,结合图解来帮助理解...
- `INTERSECT`返回两个查询结果的交集。 2. **连接操作**:`LEFT OUTER JOIN`, `RIGHT OUTER JOIN`, `FULL OUTER JOIN`用于连接多个表,根据连接条件选择不同的记录组合。 ### 扩展SQL功能 1. **插入空表**:通过...
│ 得到一个字符串在另一个字符串中出现的次数.sql │ 数字转换成十六进制.sql │ 比较第一与第二个字符串,是否有连续的5个字符相同.sql │ 生成查询的模糊匹配字符串.sql │ 简繁转换.sql │ 统计一个表中某个字符...
- `CONCAT()`:连接两个或更多字符串。 - `SUBSTRING()`:提取字符串的一部分。 - `LEN()`:返回字符串的长度。 - `UPPER()`和`LOWER()`:分别将字符串转换为大写和小写。 - `TRIM()`:去除字符串两侧的空白...
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为底的...
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为底的...
2. **Substring**: 该函数可以从一个字符串中截取出一部分。语法如下: ```sql SELECT substring('Hello World', 1, 5); ``` 其中,第一个参数是要处理的字符串,第二个参数是起始位置(从1开始),第三个参数是...
- `INTERSECT`:返回两个查询结果的交集。 - `MINUS`:返回在第一个查询中存在但在第二个查询中不存在的行。 #### 三、综合实例分析 - **复杂条件查询** - `SELECT lastname, years * 12 - leaveTaken AS ...
函数接收两个参数:`@SplitString`为要拆分的字符串,`@Separator`为分隔符,默认值为空格。函数内部使用了一个循环结构,通过`CHARINDEX`函数找到每个分隔符的位置,并使用`SUBSTRING`函数提取出每个元素,然后插入...
- `CONCAT(str1, str2, ...)`:将多个字符串连接成一个。 - `UPPER(str)` / `LOWER(str)`:将字符串转换为大写/小写。 - `SUBSTRING(str, start, length)`:提取字符串的一部分。 - `REPLACE(str, old_str, new_...
- **INTERSECT运算符**:返回两个或多个SELECT语句结果集的交集。 - **MINUS运算符**:返回第一个SELECT语句的结果集中不存在于第二个SELECT语句的结果集中的行。 - **字符串函数**(如CONCATENATE, SUBSTRING, TRIM...