《sql中使用正则表达式》由会员分享,可在线阅读,更多相关《sql中使用正则表达式(3页珍藏版)》请在金锄头文库上搜索。
1、文档供参考,可复制、编制,期待您的好评与关注! Sql中使用正则表达式sp_configure show advanced options, 1;GORECONFIGURE;GOsp_configure Ole Automation Procedures, 1;GORECONFIGURE;GO-SQL正则替换函数CREATE function dbo.regexReplace ( source ntext, -原字符串regexp varchar(1000), -正则表达式replace varchar(1000), -替换值globalReplace bit = 1, -是否是全局替换ign
2、oreCase 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, reg
3、exp 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 re
4、turn 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 -使用举例:(将数据库字段中含有aaa替换为aaa)-Select id,dbo.regexReplace(字段,)*,1,0) AS 别
5、名From 表-去掉关键字UPDATE T_GOODS SET GOODS_NAME = dbo.regexReplace(GOODS_NAME,Casio|LONGINES|Couturier|CITIZEN|SWATCH|RADO|RampK|Disney|SEIKO|Regular|Tissot|T-Touch Expert|CUTIES|Edifice|BABY-G|POPTONE|Porto|Analogue|2010|Shape Show|5号|888专柜|09年|10年|大S|sheen|10新|09新|Shimmer Bliss|WICCA|G-SHOCK|T-TREND|Superior|no|PR100|LuckyPads|性感VI|Dapper|23石|6针|COMBINATION|WICCA|Premier KINETIC|10色|T-Classic|200米|ol铅笔|200m防水|省元|100%|XC计时,1,1)-去掉中文字符UPDATE T_GOODS SET GOODS_NAME = dbo.regexReplace(GOODS_NAME,A-Za-z0-9-.*,1,0) /