您当前的位置: 首页 > 数据库教程 > MySQL教程 > SQL Server替换函数应用详解

SQL Server替换函数应用详解

作者:不详 来源:网络 发布时间: 2014-07-23 08:45 点击:
--SQL正则替换函数 代码如下: CREATE function dbo.regexReplace ( @source ntext, --原字符串 @regexp varchar(1000), --正则表达式 @replace varchar(1000), --替换值 @globalReplace bit = 1, --是否是全局替换 @ignoreCase bit = 0 --是否忽略大小写 ) returnS var

SQL Server替换函数应用详解

  --SQL正则替换函数

  代码如下:

  CREATE function dbo.regexReplace

  (

  @source ntext, --原字符串

  @regexp varchar(1000), --正则表达式

  @replace varchar(1000), --替换值

  @globalReplace bit = 1, --是否是全局替换

  @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

  /*

  配置对扩展存储过程的支持

  Microsoft SQL Server 2005-> 配置工具 -> 外围应用配置器 -> 功能的外围应用配置 -> Ole自动化:支持Ole自动化

  使用举例1:

  代码如下:

  declare @source nvarchar(4000)

  set @source = 'dsafsdf'

  select dbo.regexReplace(@source, '<[^>]+>', '', 1, 1)

  使用举例2: (将数据库字段中含有<font color='#ff0000'>aaa</font>替换为<font>aaa</font>)

  Select id,dbo.regexReplace(字段,'<font([^>])*>','<font>',1,0) AS 别名 From 表

  */
分享到:
本文"SQL Server替换函数应用详解"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4