ตัวอย่างการเขียน Store Procedure (SQL Server) Check Digit บัตรประซาชนคนไทย
เผื่อบางทีพวกคุณอาจจำเป็นต้องใช้มัน
Code (SQL)
USE [your_DB]
GO
/****** Object: UserDefinedFunction [dbo].[genEAN13Digit] Script Date: 09/16/2099 09:25:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Function [dbo].[genEAN13Digit] (@Number12 char(12))
Returns char(1)
AS
BEGIN
--DECLARE @Number12 VARCHAR(12) = '123456789012';
DECLARE @intCounter int = 1;
DECLARE @Sum int = 0;
WHILE @intCounter <= 12
BEGIN
SET @Sum = @Sum + CAST(SUBSTRING(@Number12, @intCounter, 1) AS int) * (14 - @intCounter);
SET @intCounter = @intCounter + 1;
END
RETURN CAST(((11 - (@Sum % 11 )) % 10) AS char(1));
-- ไม่แน่ใจว่าถ้าคำนวณได้ 0 แล้วต้องแปลงค่าเป็น 1 หรือไม่?
END