DECLARE @input NVARCHAR(12) = '217131001090'
DECLARE @barcode NVARCHAR(13)
DECLARE @sum INT = 0
DECLARE @i INT = 1
DECLARE @digit INT
-- Calculate the checksum digit
WHILE @i <= LEN(@input)
BEGIN
SET @digit = CAST(SUBSTRING(@input, @i, 1) AS INT)
IF @i % 2 = 0
SET @sum = @sum + @digit * 3
ELSE
SET @sum = @sum + @digit
SET @i = @i + 1
END
DECLARE @checksum INT = (10 - (@sum % 10)) % 10
-- Append the checksum digit to the input to form the EAN-13 barcode
SET @barcode = @input + CAST(@checksum AS NVARCHAR(1))
-- Output the generated EAN-13 barcode
SELECT @barcode AS EAN13Barcode