Comment vérifier en SQL la validité d'un code-barres EAN13 ?

0000003366     -      19/11/2025

Ce script SQL permet de vérifier la validité d'un code-barres EAN13 (ou d'une autre longueur, par exemple EAN8).

declare @ean char(13)
set @ean = '9782354857974'
select case when ISNUMERIC(@ean) = 1 and dbo.XEANCHECK(left(@ean, len(rtrim(@ean)) - 1)) = @ean then cast(1 as bit) else cast(0 as bit) end

 

La fonction scalaire dbo.XEANCHECK calcule le check digit d'un code EAN. En conséquence, en retirant le dernier caractère du code-barres et ensuite en comparant le code-barres initial au code-barres sans son check digit, concaténé avec le check digit calculé, on obtient une validation du code-barres.

Dans un filtre sur le signalétique des articles, ce procédé peut être utilisé comme suit :

(s_cle1 <> '') and ((ISNUMERIC(s_cle1) = 0) or (dbo.XEANCHECK(left(s_cle1, len(rtrim(s_cle1)) - 1)) <> s_cle1))

Il permet de lister les articles dont le clé 1, non vide, contiendrait un code-barres qui n'est pas un EAN valide.

 

💡EAN13 est une forme de GTIN, couramment utilisée en Europe. 

🔒 Le code source de la fonction dbo.XEANCHECK n'est pas public. Il est crypté dans la base de données SQL.



Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)