create or replace function GetSerial62(v_lpad number default 0)
return varchar2
IS
v_tmp number(38,0);
v_str char(62);
v_result varchar2(128);
BEGIN
v_str := '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
v_tmp := SEQ_Serial_62.nextval;
v_result := ''; if v_lpad > 128 then
return v_result;
end if; while v_tmp <> 0 loop
v_result := v_result||substr(v_str,mod(v_tmp,62)+1,1);
v_tmp := trunc(v_tmp / 62);
end loop; select reverse(v_result) into v_result from dual;
if v_lpad > length(v_result) then
v_result := lpad(v_result,v_lpad,'0');
end if; --DBMS_OUTPUT.PUT_LINE('====['||v_result||']==');
return v_result;
end GetSerial62;

create or replace function GetSerial62(v_serial number,v_lpad number default 0)
return varchar2
IS
v_tmp number(38,0);
v_number_tmp number(10);
v_char_tmp char(1);
v_result varchar2(128);
BEGIN v_tmp := v_serial;
v_result := ''; if v_lpad > 128 then
return v_result;
end if; while v_tmp <> 0 loop
v_number_tmp := mod(v_tmp,62); select decode(v_number_tmp,0 ,'0',1 ,'1',2 ,'2',3 ,'3',4 ,'4',5 ,'5',
6 ,'6',7 ,'7',8 ,'8',9 ,'9',10,'a',11,'b',
12,'c',13,'d',14,'e',15,'f',16,'g',17,'h',
18,'i',19,'j',20,'k',21,'l',22,'m',23,'n',
24,'o',25,'p',26,'q',27,'r',28,'s',29,'t',
30,'u',31,'v',32,'w',33,'x',34,'y',35,'z',
36,'A',37,'B',38,'C',39,'D',40,'E',41,'F',
42,'G',43,'H',44,'I',45,'J',46,'K',47,'L',
48,'M',49,'N',50,'O',51,'P',52,'Q',53,'R',
54,'S',55,'T',56,'U',57,'V',58,'W',59,'X',
60,'Y',61,'Z','') into v_char_tmp from dual; v_result := v_result||v_char_tmp;
v_tmp := trunc(v_tmp / 62);
end loop; select reverse(v_result) into v_result from dual;
if v_lpad > length(v_result) then
v_result := lpad(v_result,v_lpad,'0');
end if; --DBMS_OUTPUT.PUT_LINE('====['||v_result||']==');
return v_result;
end GetSerial62;

oracle 62进制序列号的更多相关文章

  1. Base62编码与62进制

    Base62编码 Base62编码与Base64编码类似,都用于数据内容编码.基本原理请参看<Base64算法>. import java.io.ByteArrayOutputStream ...

  2. 新浪微博id的62进制转换

    某条微博链接 某条微博的链接如下,同样省略了后面的无关参数 http://weibo.com/2803301701/CeaOU15IT CeaOU15IT为这条微博的mid,与之相对应的还有一个id, ...

  3. php 10进制转62进制,可用于短网址生成

    <?php /** * 十进制数转换成62进制 * * @param integer $num * @return string */ function from10_to62($num) { ...

  4. Oracle RedoLog-二进制格式分析,文件头,DML,DDL

    上篇文章,简单介绍了 RedoLog 是什么,以及怎么从 Oracle Dump 二进制日志.接下来,分析下 Redo Log 二进制文件的格式,主要包括:文件头,重做日志头,DML-INSERT 操 ...

  5. Oracle 10进制转36进制

    CREATE OR REPLACE FUNCTION IDFMS.func_dec236 (parm IN INT DEFAULT 0)   RETURN VARCHAR2IS   /*   10进制 ...

  6. ORACLE 36进制和10进制,互相转换函数

    第一部分 --36转10进制 create or replace function f_36to10 (str varchar) return int  is returnValue int;   s ...

  7. ORACLE 10进制与16进制的互相转换

    1. 10---->16 使用to_char(10,'xxx')函数,如果位数长,多加几个 x 2. 16---->10 使用to_number(’a','xxx')函数,如果位数长,多加 ...

  8. 2~62位任意进制转换(c++)

    进制转换的符号表为[0-9a-zA-Z],共61个字符,最大可表示62进制. 思路是原进制先转换为10进制,再转换到目标进制. 疑问: 对于负数,有小伙伴说可以直接将符号丢弃,按照整数进行进位转换,最 ...

  9. PHP进制转换[实现2、8、16、36、64进制至10进制相互转换]

    自己写了一个PHP进制转换程序,一个类吧,第一次写这个东东,写这个东东,在处理文本文件时能用得到.   可以实现: 10进制转换2.8.16.36.62进制2.8.16.36.62进制转换10进制 有 ...

随机推荐

  1. 基于正则表达式用requests下载网页中的图片

    在慕课网看了正则表达式和requests的课程后,为了加深学习记忆,决定简单记录. 实现步骤: 1.先打开你要下载的网页,查看源码找出图片位置 2.编写正则匹配图片url 3.保存图片到本地 图文步骤 ...

  2. Pandas汇总和处理缺失数据

    汇总的函数 方法 说明 count 非NA的值数量 describe 针对Series和DataFrame列计算汇总统计 min.max 计算最小值和最大值 argmin.argmax 计算能够获取到 ...

  3. Python基础之逻辑运算

    逻辑运算 概念: 优先级() > not > and > or print(2 > 1 and 1 < 4 or 2 < 3 and 9 > 6 or 2 & ...

  4. angularjs $injector:nomod

    参考 http://blog.163.com/gis_warrior/blog/static/19361717320153111134135/ 检查是否有[],或者是否多次定义同一个module 标准 ...

  5. ASP.NET 登录验证 ihttpmoudle

    问题: 1.iis版本不同(IIS7.0,应用程序池采用的是集成模式,换成经典模式才起作用.) 在 IIS 7 以下的版本中,应用以下配置: <system.web> <httpMo ...

  6. POJ 3169 Layout(差分约束+链式前向星+SPFA)

    描述 Like everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2 ...

  7. openal支持的通道数和声道数

    alext.h:  #define AL_FORMAT_QUAD8 0x1204 101 #define AL_FORMAT_QUAD16 0x1205 102 #define AL_FORMAT_Q ...

  8. a file was not found

    除了权限问题 还有可能是vm的字符串长度超出限制

  9. css背景图充满屏幕

    代码: body { /* 加载背景图 */ background: url(resource/inv_bg.png); /* 背景图不平铺 */background-repeat: no-repea ...

  10. JavaScript 练习题

    练习题 1. 使用for循环输出1到50的值,要求每次循环只能输出一个值,每输出十个换一行. 2 日历生成器: 要求 用户输入,这个月有多少天,本月1号是星期几,自动生成日历 3. 表格生成器 4.  ...