SQL调用正则表达式自定义函数

2009年5月3日星期日

SQL调用正则表达式自定义函数

createfunctiondbo.regexReplace
(
@sourcevarchar(5000),--原字符串
@regexpvarchar(1000),--正则表达式
@replacevarchar(1000),--替换值
@globalReplacebit=0,--是否是全局替换
@ignoreCasebit=0--是否忽略大小?
)
returnSvarchar(1000)AS
begin
declare@hrinteger
declare@objRegExpinteger
declare@resultvarchar(5000)

exec@hr=sp_OACreate'VBScript.RegExp',@objRegExpOUTPUT
IF@hr0begin
exec@hr=sp_OADestroy@objRegExp
returnnull
end
exec@hr=sp_OASetProperty@objRegExp,'Pattern',@regexp
IF@hr0begin
exec@hr=sp_OADestroy@objRegExp
returnnull
end
exec@hr=sp_OASetProperty@objRegExp,'Global',@globalReplace
IF@hr0begin
exec@hr=sp_OADestroy@objRegExp
returnnull
end
exec@hr=sp_OASetProperty@objRegExp,'IgnoreCase',@ignoreCase
IF@hr0begin
exec@hr=sp_OADestroy@objRegExp
returnnull
end
exec@hr=sp_OAMethod@objRegExp,'Replace',@resultOUTPUT,@source,@replace
IF@hr0begin
exec@hr=sp_OADestroy@objRegExp
returnnull
end
exec@hr=sp_OADestroy@objRegExp
IF@hr0begin
returnnull
end

return@result
end
GO
||浏览()|(0)最近读者:网友评论:发表评论:姓名:*姓名最长为50字节网址或邮箱:(选填)内容:验证码:请点击后输入四位验证码,字母不区分大小写

0 评论:

发表评论