参考:http://blog.csdn.net/linuxzhouying/article/details/8961617
算法说明:
===================================
------TAC------------ --FAC- ------SNR-----------
D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
3 5 3 1 1 4 0 0 8 0 9 6 3 6 6
计算IMEI验证码的步骤:
1、把IMEI的奇数位数*2,如:D1,D3,D5,……D13
D13 D11 D9 D7 D5 D3 D1
10 2 8 0 0 12 12
2、将计算得到的7个奇数位数字分别以个位数相加(如果得到的是个两位数,则十位和个位分别当成个位数来相加),再加上7个偶数位数字,如:D2,D4,D6……D14
3+1+0+3+2+1+8+0+0+8+0+9+1+2+3+1+2=44
3、如果第2步计算得到的数字末位为0,则验证码数字为0。如果第2步计算结果末位数不是0,则以大于第2步计算结果的以0结尾的双位整数减去第2步的计算结果,所获得的个位数即为验证码。
D0 = 50 -44 =6
=====================================
为了在SQL SERVER中使用,通过 函数来实现此算法,稍做修改,位数从左到右,方法也反过来,即原由奇数位*2改变成偶数位*2
算法如下