1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| CREATE FUNCTION dbo.F_REGEXMATCH (@MOTIF VARCHAR(256),
@VALEUR VARCHAR(8000),
@NOCASSE BIT)
RETURNS int
AS
BEGIN
declare @OLE_OBJECT int, @RETVAL int, @MATCH bit
set @MATCH=0
exec @RETVAL=sp_OACreate 'VBScript.RegExp',@OLE_OBJECT OUT
IF (@RETVAL <> 0) RETURN NULL
exec @RETVAL=sp_OASetProperty @OLE_OBJECT, 'Pattern', @MOTIF
IF (@RETVAL <> 0) RETURN NULL
exec @RETVAL=sp_OASetProperty @OLE_OBJECT, 'IgnoreCase', @NOCASSE
IF (@RETVAL <> 0) RETURN NULL
exec @RETVAL=sp_OAMethod @OLE_OBJECT, 'Test',@MATCH OUT, @VALEUR
IF (@RETVAL <> 0) RETURN NULL
exec @RETVAL=sp_OADestroy @OLE_OBJECT
return @MATCH
END
GO |
Partager