CLR实用函数:正则、字符串聚合
写了四个CLR函数,我们比较常用的功能
自定义函数
REGULARMATCH() 对应C#中MATCH
IS_REGULARMATCH() 对应C#中IS_MATCH
自定义聚合
STR_SUM 字符串聚合,中间半角逗号分隔
STR_UNION_SUM 字符串去重聚合,也是半角逗号分隔
使用示例:
代码太长,帖子里放不下,到下面博客里复制代码到数据库里运行后就可以用了
博客地址
自定义函数
REGULARMATCH() 对应C#中MATCH
IS_REGULARMATCH() 对应C#中IS_MATCH
自定义聚合
STR_SUM 字符串聚合,中间半角逗号分隔
STR_UNION_SUM 字符串去重聚合,也是半角逗号分隔
使用示例:
USE MASTER
GO
--判断手机号是否合法
SELECT dbo.IS_REGULARMATCH('13888888888','^(1[3,5,8,4][0-9])\d{8}$'),dbo.IS_REGULARMATCH('123456789','^(1[3,5,8,4][0-9])\d{8}$')
--1 0
--聚合函数使用示例
IF OBJECT_ID('TB') IS NOT NULL DROP TABLE TB
GO
CREATE TABLE TB(
ID INT
,VAL VARCHAR(MAX)
)
GO
INSERT INTO TB
SELECT 1,'AA' UNION ALL
SELECT 2,'B' UNION ALL
SELECT 3,'CD'
GO
INSERT INTO TB
SELECT 1,'AA' UNION ALL
SELECT 2,'BB' UNION ALL
SELECT 3,'CD'
GO
SELECT ID,DBO.STR_SUM(VAL),DBO.STR_UNION_SUM(VAL)
FROM TB
GROUP BY ID
/*
1 AA,AA AA
2 BB,B BB,B
3 CD,CD CD
*/ 代码太长,帖子里放不下,到下面博客里复制代码到数据库里运行后就可以用了
博客地址
...全文
相关推荐
SQLSERVER使用的CLR常用函数
必须SQLSERVER2005以上,支持CLR函数才行。其中Concatenate是拼接字符串的聚合函数,MaxOther是某列最大时获取另外一列值的聚合函数,MinOther则反之。Regex开头的
Sqlserver 2014 之 自定义字符串聚合函数
在SQL Server 2014中,自定义字符串聚合函数是一项重要的编程任务,尤其是在处理大量字符串数据时。
C#扩展SQLServer 2005 字符串聚合函数
**调用聚合函数**:在SQL查询中,就可以像使用内置函数一样调用自定义的字符串聚合函数了。
VS 2010+C# 扩展 SQL Server 2005/2008 CLR ,字符串聚合函数
不管是SQL SERVER 2005还是SQL 2008 都没有提供字符串的聚合函数,但是 SQL 2005以后的版本支持CLR扩展系统的函数,所以就使用VS2010写了一个.以后可以这样写了sele
字符串聚合函数(去除重复值)
这个函数能够将多个字符串值聚合成一个字符串,并且去除重复值,非常实用。


应用实例
