oracle银行卡卡号计算函数
create or replace function GetCardNoBySerialNo(v_sysacc varchar2,v_position number)
return varchar2
IS
v_i number(10);
v_j number(10);
v_ret number(10);
v_ret1 number(10);
v_ret2 number(10);
v_res number(10);
v_total number(10);
v_cardno varchar2(16);
BEGIN
v_j:=1;
v_i:=length(v_sysacc);
v_total :=0;
while v_i> 0 loop
-- DBMS_OUTPUT.PUT_LINE('no=['||substr(v_sysacc,v_i,1)||']');
if(mod(v_j,2) = 1) then
v_ret2:=0;
v_ret:=to_number(substr(v_sysacc,v_i,1))*2; if(v_ret >= 10) then
v_ret1 := floor(v_ret/10) + mod(v_ret,10);
else
v_ret1 :=v_ret;
end if;
--DBMS_OUTPUT.PUT_LINE('1v_ret=['||to_char(v_ret1)||']');
else
v_ret2:=to_number(substr(v_sysacc,v_i,1));
--DBMS_OUTPUT.PUT_LINE('2v_ret=['||to_char(v_ret2)||']');
v_ret1:=0;
end if;
v_total :=v_total + v_ret1 + v_ret2;
v_j:=v_j + 1;
v_i := v_i - 1;
--DBMS_OUTPUT.PUT_LINE('v_total['||to_char(v_total)||']==');
end loop; v_res:=mod(10-mod(v_total,10),10);
--DBMS_OUTPUT.PUT_LINE('====['||to_char(v_res)||']=='); v_cardno:=substr(v_sysacc,1,v_position-1)||to_char(v_res)||substr(v_sysacc,v_position,16-v_position);
return v_cardno;
end GetCardNoBySerialNo;
oracle银行卡卡号计算函数的更多相关文章
- 前端JS校验银行卡卡号和身份证号码(附ES6版方法)
1.银行卡卡号校验方法. function luhnCheck(bankno) { var lastNum = bankno.substr(bankno.length - 1, 1); //取出最后一 ...
- C#:根据银行卡卡号判断银行名称
原文地址:android 根据银行卡卡号判断银行 原文是 java ,现在将它翻译成 C# ,并对代码重新编排整理,博主是一个今年刚出来的应届毕业生,不足之处请多多包涵. 根据银行卡号判断所属银行,依 ...
- php信用卡卡号验证函数
介绍一个php信用卡卡号验证函数,可以验证一个卡号是否是信用卡. function validateCard ($cardnumber){ $cardnumber = preg_replace (&q ...
- C#:根据银行卡卡号推断银行名称
原文:C#:根据银行卡卡号推断银行名称 原文地址:android 根据银行卡卡号判断银行 原文是 java ,现在将它翻译成 C# ,并对代码重新编排整理,不足之处请多多包涵. 根据银行卡号判断所属银 ...
- 匹配Luhn算法:可用于检测银行卡卡号
匹配Luhn算法:可用于检测银行卡卡号 /** * http://www.cnblogs.com/JnKindle/p/5798974.html * * 匹配Luhn算法:可用于检测银行卡卡号 * * ...
- oracle 根据身份证号计算出生日期
1.情景展示 如何根据身份证号推算出出生日期? 2.解决方案 --根据身份证号计算出生日期 SELECT DECODE(LENGTH(ID_CARD), 18, SUBSTR(ID_CARD, 7 ...
- C#_根据银行卡卡号判断银行名称
/// <summary> /// 银行信息 /// </summary> public class BankInfo { #region 数组形式存储银行BIN号 /// & ...
- PHP中使用Luhn算法校验信用卡及借记卡卡号
Luhn算法会通过校验码对一串数字进行验证,校验码通常会被加到这串数字的末尾处,从而得到一个完整的身份识别码. 我们以数字“7992739871”为例,计算其校验位: 从校验位开始,从右往左,偶数位乘 ...
- 教你一招:根据身份证号计算出生年月和年龄 text函数和mid函数混用 datedif函数和today函数混用
在电子表格Excel中,使用text函数和mid函数混用,根据身份证号计算出生年月: =text(mid(A2,,),"0!/00!/00") #0!/00!/00 为日期的格式# ...
随机推荐
- javascript学习笔记(五):异常捕获和事件处理
异常捕获 Try{ 发生异常的代码块 }catch(err){ 异常信息处理 } <!DOCTYPE html> <html> <head lang="en&q ...
- python--第三天总结
[collection系列]1.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 c = Counter('abcdeabc ...
- CSS3 box-shadow实现纸张的曲线投影效果
一般的投影效果,尤其通过CSS实现的投影效果(无论是CSS3,还是IE滤镜),都是直来直往的.纸张是有卷角的,其投影就是曲面的,如何使用CSS模拟出纸张的卷边曲线投影效果. <div class ...
- as3.0去除空格
var str:String="是 我们 呀CuPlay er.com网站" function trim(string:String):String { return string ...
- Websocket实现群聊、单聊
Websocket 使用的第三方模块:gevent-websocket 群聊 ws群聊.py中的内容 from flask import Flask, request, render_template ...
- c# tcp协议发送数据
private void tcp_send(string data)//tcp协议转发数据 { TcpClient tcpClient = new TcpClient(); tcpClient.Con ...
- TZOJ 3030 Courses(二分图匹配)
描述 Consider a group of N students and P courses. Each student visits zero, one or more than one cour ...
- POJ 3169 Layout(差分约束+链式前向星+SPFA)
描述 Like everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2 ...
- f5通过vs访问其他站点的源、目的IP问题
通过VIP访问其他站点,则事实上是从服务器访问到其他站点. 如,域名 a.xin.com解析到vip 10.16.100.47(member为10.16.45.71和10.16.45.72)访问192 ...
- eclipse打war包编译文件不更新
如题.多次打包都不更新,各种clean都试了都不行.重启eclipse也不行.最后重启电脑可以了. 另外eclipse导出war包似乎存在bug,时间比系统时间超前,如下图所示.我17:19导出的包, ...