CLR实用函数:正则、字符串聚合

guguda2008 guguda2008 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
写了四个CLR函数,我们比较常用的功能

自定义函数

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
*/


代码太长,帖子里放不下,到下面博客里复制代码到数据库里运行后就可以用了
博客地址
...全文

相关推荐

评论 48
收藏 已收藏
分享
返回顶部
guguda2008
应用实例 27,579 成员 68,540 内容