建立正則替換函式,利用了ole物件,以下是函式**:
[sql]view plain
copy
--如果存在則刪除原有函式
if object_id(n'dbo.regexreplace') is
notnull
drop
function dbo.regexreplace
go
--開始建立正則替換函式
create
function dbo.regexreplace
( @string varchar(max), --被替換的字串
@pattern varchar(255), --替換模板
@replacestr varchar(255), --替換後的字串
@ignorecase int = 0 --0區分大小寫 1不區分大小寫
) returns
varchar(8000)
asbegin
declare @objregex int, @retstr varchar(8000)
--建立物件
exec sp_oacreate 'vbscript.regexp', @objregex out
--設定屬性
exec sp_oasetproperty @objregex, 'pattern', @pattern
exec sp_oasetproperty @objregex, 'ignorecase', @ignorecase
exec sp_oasetproperty @objregex, 'global', 1
--執行
exec sp_oamethod @objregex, 'replace', @retstr out, @string, @replacestr
--釋放
execute sp_oadestroy @objregex
return @retstr
endgo
--保證正常執行的話,需要將ole automation procedures選項置為1
exec sp_configure 'show advanced options', 1
reconfigure with override
exec sp_configure 'ole automation procedures', 1
reconfigure with override
複製以上**,到sql中執行
然後測試,如下
[sql]view plain
copy
--2.將姓名倒過來
select dbo.regexreplace('john smith', '([a-z]+)\s([a-z]+)', '$2,$1',1)
/*
--------------------------------------
smith,john
*/
sqlserver中鎖表應用
鎖乙個sql表的語句是sql 資料庫使用者都需要知道的,下面就將為您介紹鎖sql表的語句,希望對您學習鎖sql表方面能有所幫助。鎖定資料庫的乙個表 select from table with holdlock 注意 鎖定資料庫的乙個表的區別 select from table with holdl...
SQL SERVER 正則替換
use pubdb goif object id n dbo.regexreplace is not null drop function dbo.regexreplace go 開始建立正則替換函式 create function dbo.regexreplace string varchar m...
利用SQL Server傳送郵件
配置sql server 允許發郵件這裡有兩種方式一中是通過介面操作,一中是全 操作。兩種方式的結果是一樣的,使用者可以先通過 操作,在通過介面操作去檢視 1 操作 1.配置資料 exec sp configure show advanced options 1 reconfigure with o...