Friday, October 22, 2010

Fonction à fractionner Numéro


CREATE FUNCTION [dbo].[GEN_NUMBER] (@ VAL VARCHAR(20))
RETOURNE VARCHAR(30)
COMME
COMMENCER

DÉCLARER @ LEN INT
DÉCLARER @ CH CHAR
DÉCLARER INT @ LEN1
DÉCLARER INT @ LEN2
DÉCLARER @ STINDEX INT
SET @LEN=LEN(@VAL)
SET @ LEN2 = 0
SET @ LEN1 = 0
SET @ STINDEX = 0
ALORS QUE (@ LEN > 0 ET @ LEN>=@LEN1)
COMMENCER
DÉFINISSEZ @ LEN1=@LEN1+1
SET @CH=SUBSTRING(@VAL,@LEN1-1,@LEN1)
SI PATINDEX('%[0-9]%',@CH) > 0
COMMENCER
SI @ LEN2<>
COMMENCER
DÉFINISSEZ @ LEN2=@LEN1
SI (@ STINDEX = 0)
DÉFINISSEZ @ STINDEX=@LEN2
FIN
FIN

FIN
SI (@ LEN2 > 0)
COMMENCER
SET @ LEN2 = CONVERT(INT,SUBSTRING(@VAL,@LEN2-1,LEN(@VAL)))
DÉFINISSEZ @ LEN2=@LEN2+1
FIN
AUTRE
SET @ LEN2 = 0
RETOUR SUBSTRING(@VAL,0, @STINDEX-1) + CONVERT (VARCHAR(20),@LEN2)

FIN

No comments:

Post a Comment