Contrôler un code NNI (sécurité sociale)

Une petite fonction pour MS SQL Server afin de calculer une clef de sécurité sociale par rapport aux données du code NNI…


-- fonction de contrôle du code sécurité sociale
CREATE FUNCTION dbo.F_NNI_CLEF (@SEXE CHAR(1),
                                @AN   CHAR(2),                                
                                @MOIS CHAR(2),  
                                @CMN  CHAR(5),  
                                @RANG CHAR(3))
RETURNS VARCHAR(2)
AS
BEGIN

DECLARE @OUT VARCHAR(2), @N BIGINT ;
SET @N = CAST(@SEXE + @AN + @MOIS + @CMN + @RANG AS DECIMAL(38));
SET @N = 97 - (@N  % 97);
SET @OUT = CASE
              WHEN LEN(@OUT) = 1 THEN '0' + @OUT
              ELSE @OUT
           END;
RETURN @OUT;
 
END
GO

Exemple d’utilisation :


SELECT *
WHERE   dbo.F_NNI_CLEF (SEXE, AN, MOIS, CMN, RANG)  CLEF

***
Frédéric BROUARD – SQLpro – MVP SQL Server
Spécialiste SQL/BD modélisation de données
SQL & SGBDR http://sqlpro.developpez.com/
Expert SQL Server : http://www.sqlspot.com
audits – optimisation – tuning – formation

Laisser un commentaire