преобразование числа в шестнадцатиричное

yemets63
Дата: 26.02.2007 23:43:41
Люди, а как на уровне Оракл, преобразовать число десятичное в шестнадцатиричное

это надо в оракл, например

было 16384
а надо :#004000

спасибо
dmidek
Дата: 26.02.2007 23:48:11
select to_char('16384', 'XXXXX') from dual
/ 
4000
Ы
Дата: 27.02.2007 00:15:46
'0XXXXX'
SY
Дата: 27.02.2007 00:21:53
Ы
'0XXXXX'


'FM0XXXXX'

SY.
yemets63
Дата: 27.02.2007 08:19:14
ну да, логично

CREATE OR REPLACE Function IntToHex(mInt varchar2 default '0') RETURN VARCHAR2 IS
-- select inttohex('16384') from dual
     mHex Varchar2(7);
BEGIN
  select ('#'||replace(to_char(mInt,'XXXXX'),' ','0')) into mHex from dual;
  return mHex;
END IntToHex;
_Халявщик_
Дата: 27.02.2007 09:15:46
yemets63
ну да, логично

CREATE OR REPLACE Function IntToHex(mInt varchar2 default '0') RETURN VARCHAR2 IS
-- select inttohex('16384') from dual
     mHex Varchar2(7);
BEGIN
  select ('#'||replace(to_char(mInt,'XXXXX'),' ','0')) into mHex from dual;
  return mHex;
END IntToHex;
Удивляет, с каким рвением народ не задумываясь пишет всякую х...ю :(

P.S. Нах для этого дергать dual?
SY
Дата: 27.02.2007 17:28:57
yemets63
ну да, логично

CREATE OR REPLACE Function IntToHex(mInt varchar2 default '0') RETURN VARCHAR2 IS
-- select inttohex('16384') from dual
     mHex Varchar2(7);
BEGIN
  select ('#'||replace(to_char(mInt,'XXXXX'),' ','0')) into mHex from dual;
  return mHex;
END IntToHex;


I thought Ы pointed you to use of 0 in format and I pointed out FM format modifier. So why you are using replace:

SQL> set serveroutput on
SQL> declare
  2      mHex Varchar2(7);
  3  begin
  4      mHex := '#' || to_char(16384,'FM0XXXXX');
  5      dbms_output.put_line('mHex is "' || mHex || '"');
  6  end;
  7  /
mHex is "#004000"

PL/SQL procedure successfully completed.

SQL> 

SY.
P.S. 2 _Халявщик_: Желательно без слов для связки слов.
Elic
Дата: 27.02.2007 17:38:19
SY
P.S. 2 _Халявщик_: Желательно без слов для связки слов.
Возражаю. Мысль была выражена исключительно правильная и в относительно мягкой форме.

Или надо было сразу сказать идиоту, что он идиот ?!
SY
Дата: 27.02.2007 18:09:16
Elic
Или надо было сразу сказать идиоту, что он идиот ?!


Well, maybe I am a bit mellow this morning sipping coffee and watching light snow slowly tapering .

SY.