终于找到个可以在sql2000下用的正则啦,哈哈
2007-12-13 22:11
344 查看
CREATE function dbo.regexReplace
(
@source ntext, --原字符串
@regexp varchar(1000), --正则表达式
@replace varchar(1000), --替换值
@globalReplace bit = 0, --是否是全局替换
@ignoreCase bit = 0 --是否忽略大小写
)
returnS varchar(1000) AS
begin
declare @hr integer
declare @objRegExp integer
declare @result varchar(5000)
exec @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'Global', @globalReplace
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignoreCase
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OAMethod @objRegExp, 'Replace', @result OUTPUT, @source, @replace
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OADestroy @objRegExp
IF @hr <> 0 begin
return null
end
return @result
end
调用:select dbo.regexReplace('sdfasfjksdjfa12k232132134324lsdjlfka','[a-z]','',1,1)
替换字符串里的所有字母
(
@source ntext, --原字符串
@regexp varchar(1000), --正则表达式
@replace varchar(1000), --替换值
@globalReplace bit = 0, --是否是全局替换
@ignoreCase bit = 0 --是否忽略大小写
)
returnS varchar(1000) AS
begin
declare @hr integer
declare @objRegExp integer
declare @result varchar(5000)
exec @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'Global', @globalReplace
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignoreCase
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OAMethod @objRegExp, 'Replace', @result OUTPUT, @source, @replace
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OADestroy @objRegExp
IF @hr <> 0 begin
return null
end
return @result
end
调用:select dbo.regexReplace('sdfasfjksdjfa12k232132134324lsdjlfka','[a-z]','',1,1)
替换字符串里的所有字母
相关文章推荐
- 哈哈,昨天晚上终于找到了一个可以用的英文版Visual Studio .Net 2003
- 终于找到一个方法可以使用EF的时候动态指定数据库路径了
- 哈哈,终于找到了快点的blog
- 我的偶像的空间,我终于找到了,哈哈哈哈哈
- 欣喜:终于找到了办法,可以把图片资源集成到dll文件之中了
- 手机网页在弹出输入法时候挡住输入框?网上找了很多很多 终于找到一个真真可以用的了~
- 哈哈。终于找到问题了。写错方法了。呵呵
- 跟着教程学习MP3播放器编写,遇到奇怪事,扩展名为MP3、jpg、gif的都可以下载,唯独lrc的下载总失败,终于找到原因!
- 哇塞,终于可以上传图片了。哈哈
- yangguang-终于找到了可以在手机上玩的极品飞车游戏(J
- 今天终于为我们学校上网卡可以无限挂网找到理论依据了
- 梦寐的电子市场终于可以去了哦!o(∩_∩)o...哈哈
- 哇塞,终于可以上传图片了。哈哈
- 找了几天终于找到一个无限联动下拉框的代码,并且可以赋初始值,非常满意
- 哈哈,今天终于把专利文档完成了,可以提交了
- 终于找到了一个地方可以自由发布我的引擎了
- 在连接mysql5.1时正常,连接sql2000时就是连不上,郁闷,终于在网上找到了解答,原来是sql驱动和hibernate的兼容 性问题,现问题已解决,留此文备查.
- 终于找到一个在IE8下可以使用搜索栏的输入法了
- 终于找到一件上班时间可以做的事情
- Asp.netUpload(大文件上传) 终于找到一个可以用的了