1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
--Nettoyage champs email en remplacement les , et ; en point sur le champs email et email pro
update tgcliente set Email=replace(replace(Email,',','.'),';','.')
update tgcliente set EmailPro=replace(replace(EmailPro,',','.'),';','.')
--Mise à jour du champs email en "nc@nc.fr" pour tout Email champs nom conforme
update tgcliente set Email ='nc@nc.fr' where email NOT LIKE '%_@__%.__%'
--Mise à jour du champs emailPro a vide pour tout EmailPro champs nom conforme
update tgcliente set EmailPro ='' where EmailPro NOT LIKE '%_@__%.__%'
/****************************************************************************/
-- purge de caractères indésirables
/****************************************************************************/
-- exemple : FN_RESTRICT('à Paris...?', 'abcdefghijklmnopqrstuvwxyz') => 'aris'
CREATE FUNCTION FN_RESTRICT (@IN VARCHAR (8000),
@CHARSOK VARCHAR(256))
RETURNS VARCHAR (8000)
AS
BEGIN
-- effets de bord
IF @IN IS NULL
RETURN NULL
IF @CHARSOK IS NULL
RETURN NULL
IF LEN(@IN) = 0
RETURN @IN
-- initialisation
DECLARE @I INTEGER
DECLARE @OUT VARCHAR(8000)
SET @OUT = ''
-- lecture caractère par caractère
SET @I =1
WHILE @I <= LEN(@IN)
BEGIN
IF PATINDEX('%' + SUBSTRING(@IN, @I, 1)+ '%', @CHARSOK) > 0
SET @OUT = @OUT + SUBSTRING(@IN, @I, 1)
SET @I = @I + 1
END
RETURN @OUT
END
GO
--nettoyage des champs téléphone fax en ne conservant uniquement des numéros
update tgcliente set
NumGSM=dbo.FN_RESTRICT(NumGSM, '0123456789'),
NumGSMPro=dbo.FN_RESTRICT(NumGSMPro, '0123456789'),
NumTel1=dbo.FN_RESTRICT(NumTel1, '0123456789'),
NumTel2=dbo.FN_RESTRICT(NumTel2, '0123456789'),
Numfax=dbo.FN_RESTRICT(Numfax, '0123456789')
--effacer les numéro de téléphone inférieur à 10 caractère
update tgcliente set numGSM='' where len(numGSM) < 10
update tgcliente set NumGSMPro='' where len(NumGSMPro) < 10
update tgcliente set NumTel1='' where len(NumTel1) < 10
update tgcliente set NumTel2='' where len(NumTel2) < 10
update tgcliente set Numfax='' where len(Numfax) < 10
-- mettre à jour le champs numGSM (N* Mobile) avec la valeur du champ Nimtel1 si le champs est NumGSm est null et que les numeros de numte1 commence par 06 et 07
update tgcliente set numGSM =Numtel1 where (numGSM is null OR NumGSM ='') and (Numtel1 like '06%' OR Numtel1 like '07%') |
Partager