15桁の顧客番号があり、その値のチェックディジットを計算する必要があります。チェックディジットを考え出すために、私はExcelを使用します(式は以下にあります)。
この式は、Luhnアルゴリズムと呼ばれるものに基づいています(これが正しいスペルだと思います)。15桁の顧客番号は、SQLServer2000データベースに保存されます。
ExcelではなくT-SQL関数を使用してこの計算を取得できるようにしたいと思います。SQL Server 2000データベース上のT-SQLでこれを行う方法を知っている人はいますか?
15桁の数字からチェックディジットを取得するExcelの数式は次のとおりです。
=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)