I need to write a stored procedure or funtion to validate the insert of EAN13 code in SQL Server.
Can anyone help me?
Resolved,
I created a function for validation:
CREATE FUNCTION [sp_ean](@Ean varchar(max)) RETURNS INT AS BEGIN DECLARE @Factor INT DECLARE @Sum INT DECLARE @Len INT DECLARE @CC INT DECLARE @CA INT DECLARE @Result NVARCHAR(MAX) SET @Len = LEN(@Ean) SET @Sum = 0 SET @Factor = 3 IF @Len = 14 OR @Len = 13 OR @Len = 12 OR @Len = 8 BEGIN WHILE @Len > 0 BEGIN IF @Len 13 BEGIN SET @Sum = @Sum + SUBSTRING(@Ean,@Len,1) * @Factor SET @Factor = 4 - @Factor END SET @Len = @Len - 1 END SET @CC = ((1000 - @Sum) % 10) SET @CA = SUBSTRING(@Ean,LEN(@Ean),1) IF @CC = @CA BEGIN SET @Result = 0 END ELSE BEGIN SET @Result = 1 END END ELSE BEGIN SET @Result = 1 END RETURN (@Result) END
Result: 0 to true or 1 to false
Thanks!