我有一个 15 位数的客户编号,我需要计算该值的校验位。为了得出校验位,我使用 Excel(公式如下)。
这个公式基于一种叫做 Luhn 算法的东西(我认为这是正确的拼写)。15 位客户编号存储在 SQL Server 2000 数据库中。
我希望能够使用 T-SQL 函数而不是 Excel 来进行此计算。有谁知道如何在 SQL Server 2000 数据库上使用 T-SQL 来做到这一点?
Excel 公式将给我一个 15 位数字的校验位:
=MOD(SUMPRODUCT(-MID(TEXT(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)*(MOD(ROW(INDIRECT("1:"&LEN(A2)))+LEN(A2)+1,2)+1),"00"),{1,2},1)),10)