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. Java基础学习笔记(四)

    21.构造方法(续):分类: 隐式构造方法:如果在一个类中,没有手动编写构造方法,则系统会提供一个默认的无参的构造方法 显式构造方法:如果在一个类中,手动编写构造方法,则系统不会提供默认的无参的构造方 ...

  2. python 文件操作: 文件操作的函数, 模式及常用操作.

    1.文件操作的函数: open("文件名(路径)", mode = '模式', encoding = "字符集") 2.模式: r , w , a , r+ , ...

  3. mysql不能使用IP连接,可以使用localhost连接

    问题: 本地mysql,使用127.0.0.1可以连接成功,使用具体IP连接报错 ERROR 1130 (HY000): Host '10.252.225.125' is not allowed to ...

  4. spket插件安装并设置JQuery自动提示(转)

    spket是一个开发JavaScript.jQuery.Ext_js等的开发工具,它可以 是独立的IDE,也可以作为Eclipse的插件使用,下面介绍如何在Eclipse中安装spket插件: 1.首 ...

  5. linux安装redis及主从复制、读写分离、哨兵模式

    Redis安装与部署 版本最好选择3.0及以上.以后还可以部署Redis集群. 1.下载: [root@bogon redis-3.0.0]# cd /usr/local [root@bogon lo ...

  6. Ubuntu下ssh的安装

    1.安装 Ubuntu缺省安装了openssh-client,,如果没有安装,可用apt-get安装上即可. 安装ssh-server sudo apt-get install openssh-ser ...

  7. DRF的视图和路由

    DRF的视图 APIView Django中写CBV的时候继承的是View,rest_framework继承的是APIView, urlpatterns = [ url(r'^book$', Book ...

  8. Android 集成高德地图

    先上一张图片看看实现的效果啦!!! 首先登陆高德的开发者平台进行创建自己的应用程序,填写对应的包名,填写sHA1值(这个我这博客中写了获取的代码,可以直接复制粘贴),说了这么多其实都是废话,来我们看重 ...

  9. Android使用VideoView播放本地视频及网络视频Demo

    1.xm文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:and ...

  10. JAVA 基本数据结构--数组、链表、ArrayList、Linkedlist、hashmap、hashtab等

    概要 线性表是一种线性结构,它是具有相同类型的n(n≥0)个数据元素组成的有限序列.本章先介绍线性表的几个基本组成部分:数组.单向链表.双向链表:随后给出双向链表的C.C++和Java三种语言的实现. ...