Sqlserver 正则替换函数的一种实现

--函数

IF OBJECT_ID(N'dbo.RegexReplace') IS NOT NULL
DROP FUNCTION dbo.RegexReplace
GO
CREATE FUNCTION dbo.RegexReplace
(
@string VARCHAR(MAX), --被替换的字符串
), --替换模板
), --替换后的字符串
 --0区分大小写 1不区分大小写
)
)
AS
BEGIN
)
--创建对象
EXEC sp_OACreate 'VBScript.RegExp', @objRegex OUT
--设置属性
EXEC sp_OASetProperty @objRegex, 'Pattern', @pattern
EXEC sp_OASetProperty @objRegex, 'IgnoreCase', @IgnoreCase 

--执行
EXEC sp_OAMethod @objRegex, 'Replace', @retstr OUT, @string, @replacestr
--释放
EXECUTE sp_OADestroy @objRegex
RETURN @retstr
END
GO

用法示例(替换空格):

--替换空格
)

--输出:0_276_5
上一篇:被「李笑来老师」拉黑之「JavaScript微博自动转发的脚本」


下一篇:SWIFT电文 MT940客户对账单 报文格式说明