身份證15轉18位

2021-04-19 02:13:02 字數 1285 閱讀 8227

身證份15位轉18位

測試用例用*顯示部分系統人為修改,

create function f_cid15to18 (@sfz char(18)) 

returns char(18)

asbegin

declare @osfz varchar(18)

declare @i int,@ai int,@wi int,@sum int,@mod int,@result int

set @osfz = @sfz

set @sum = 0

if len(@osfz) = 15

begin

set @osfz = substring(@osfz,1,6) + '19' + substring(@osfz,7,9)

set @i = 2

while @i <= 18

begin

set @ai = cast(substring(@osfz,19 - @i,1) as int)

set @wi = power (2, (@i - 1))% 11

set @sum = @sum + @ai * @wi

set @i = @i + 1

end

set @mod = @sum % 11

set @result = 12 - @mod

if @result >= 10

if @result = 10

return @osfz + 'x'

else

begin

set @result = @result - 11

return @osfz + ltrim(@result)

end

else

return @osfz + ltrim(@result)

endelse

return @sfz

return @sfz

end

goselect dbo.f_cid15to18('32108519760502***9')

/*------------------

32108519760502***9

(所影響的行數為 1 行)

*/select dbo.f_cid15to18('321085760502***')

/*------------------

32108519760502***9

(所影響的行數為 1 行)

*/drop function f_cid15to18

15位身份證 18位轉換

region 元件設計器生成的 web 服務設計器所必需的 private icontainer components null 設計器支援所需的方法 不要使用 編輯器修改 此方法的內容。private void initializecomponent 清理所有正在使用的資源。protected o...

15位身份證補全為18位身份證演算法

一 15位身份證和18位身份證號碼結構介紹 要進行身份證號碼的驗證,首先需要了解我國身份證號碼的編碼規則。我國身份證號碼多由若干位數字或者數字與字母混合組成。早期身份證由15位數字構成,這主要是在1980年以前發放的身份證,後來考慮到千年蟲問題,因為15位的身份證號碼只能為1900年1月1日到199...

身份證15位公升18位

六位數字位址碼 八位數字出生日期碼 三位數字順序碼 順序碼的奇數分給男性,偶數分給女性 一位數字校驗碼 校驗碼是根據前面十七位數字碼,按照iso 7064 1983.mod 11 2校驗碼計算出來的檢驗碼 1 多了年數 第6位開始多了19表示完整的出生日期 2 多了最後一位校驗碼 ai wi mod...