產生十六進製制的流水號
需求如下:
求乙個function, 用 0~9,a~f 這幾個數字及字母,產生流水號,,產生的資料如下 格式:
00000,00001,00002,00003,00004,00005,00006,00007,00008,00009,0000a,0000b,0000c,0000d,0000e,0000f,00010....
解決如下: www.2cto.com
1、新建產生十進位制的序列號seq_hex
[sql]
create sequence seq_hex
minvalue 0
maxvalue 10000000
start with 0
increment by 1
cache 20
cycle
order;
www.2cto.com
2、寫乙個函式,函式的作用是返回十六進製制的序列號
[sql]
create or replace function gethexsequence
return varchar2
as
n_shang number(10);
n_yushu number(10);
hexres varchar2(10);
begin
n_shang :=seq_hex.nextval;
if n_shang = 0 then
return '00000';
end if;
while n_shang>0 loop
n_yushu:=n_shang mod 16;
select concat(decode(n_yushu,'10','a','11','b','12','c','13','d','14','e','15','f',n_yushu),hexres) into hexres from dual;
n_shang := trunc(n_shang/16);
end loop;
return lpad(hexres,5,0);
end;
www.2cto.com
3、在程式中呼叫,產生十六進製制的序列號
[sql]
sql> select gethexsequence from dual;
gethexsequence
----------------------------------------
000ad
上述解決方法不一定是最優的,希望拋磚引玉,看有沒有更好的解決方案。
oracle產生十六進製制數
1 建立seq,產生十進位制的序列號 sql code?1 2 3 4 5 6 7 8 createsequenceseq hex minvalue 0 maxvalue 10000000 startwith0 incrementby1 cache 20 cycle order 2 寫乙個函式,返回...
Excel輸入十六進製制數,以及十六進製制運算
網上覆制來複製去的連個靠譜答案都沒有.f k 所以無奈自己探索出來了 單元格 a1文字值 a2進製值 輸入內容 fefe oct2hex hex2oct a29 由於單元格沒有提供進製格式,所以填入的值實際上是文字值,但是轉換函式卻可以把文字值視為進製值拿去轉換 所以我們兩次轉換就能得到真正的進製數...
進製轉換 十六進製制轉八進位制 十六進製制轉十進位制
在十六進製制轉為八進位制的過程中包含了將十六進製制轉化為二進位制以及將二進位制轉化為八進位制!我自己測試是沒什麼問題,但是在藍橋杯官網的測試系統就顯示執行錯誤qwq 不知道為什麼 附 include includeusing namespace std int main if len2 i 3 2 ...