我有一個15位數的客戶編號,我需要爲該值計算一個校驗位。 爲了拿出校驗位我使用Excel(公式如下)。T-SQL自定義函數(SQL Server 2000)
該公式基於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)
你嘗試過什麼和你在哪裏有問題?有很多網站提出了實現「SQL Luhn算法」的方法,雖然這裏有很多人在發佈代碼,但SO [通常不是](http://meta.stackexchange.com/questions/tagged/plz-give-我的代碼)一個「請給我這個代碼」網站。道歉,如果那不是你的意圖。 – Pondlife
如果你想控制SIRET,你可以使用這個方法:https://stackoverflow.com/questions/48042117/check-siret-and-siren-french-entreprise-number/48042118#48042118 – Esperento57