hex values
Does Postgres support hex values?
Can I do something like:
VAL := 0xFFFF;
And is it possible to output the value in a hex-string? So VAL would display
as 0xFFFF instead of 65535?
Wade Oberpriller http://www.storagetek.com
Software Development Phone: (763) 424-1538
StorageTek: MRDC (800) 328-9108 ext. 1538
wade_oberpriller@storagetek.com Fax: (763) 391-1095
Hi,
as far as I've found out, it doesn't.
Retrieving int data as hex I solved by this plperl function:
CREATE FUNCTION int2hex(integer) RETURNS char(10)
AS '$tmp = sprintf "%X", $_[0];
return ("0x" . "0"x(4-length($tmp)) . $tmp);'
LANGUAGE 'plperl';
This will give you allways 4 ciphers behind 0x. I didn't need it for
reading data, but at least, it should work about the same, i.e. if you have
several kinds of numbers, some dec, some hex, some oct, I would do
something like:
CREATE FUNCITON mynumber2int(char(10)) RETURNS integer
AS 'return int($_[0]);'
LANGUAGE 'plperl';
which simply uses perls internal conversion-mechanism.
I would also like postgres to include this behavior by default, at least
for the reading. But I haven't found out how.
Heiko
Oberpriller, Wade D. writes:
Show quoted text
Does Postgres support hex values?
Can I do something like:
VAL := 0xFFFF;
And is it possible to output the value in a hex-string? So VAL would display
as 0xFFFF instead of 65535?Wade Oberpriller http://www.storagetek.com
Software Development Phone: (763) 424-1538
StorageTek: MRDC (800) 328-9108 ext. 1538
wade_oberpriller@storagetek.com Fax: (763) 391-1095---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
Hi all,
The PG Documentation states:
tgl=> select cast(text '44' as int8) ! as "factorial";
factorial
---------------------
2673996885588443136
(1 row)
If you try it, you will get the same result, but it is the wrong answer.
Factorial work up to 20. After that one gets negative results.
JLL
Jean-Luc Lachance <jllachan@nsd.ca> writes:
If you try it, you will get the same result, but it is the wrong answer.
Factorial work up to 20. After that one gets negative results.
There's a TODO item to replace the existing integer-based factorial ops
with a NUMERIC-based one, which would work for output values up to
whatever the NUMERIC precision limit is (10^1000, I think). Want to
work on that?
regards, tom lane
Jean-Luc Lachance wrote:
Hi all,
The PG Documentation states:
tgl=> select cast(text '44' as int8) ! as "factorial";
factorial
---------------------
2673996885588443136
(1 row)If you try it, you will get the same result, but it is the wrong answer.
Factorial work up to 20. After that one gets negative results.
I changed the docs to do a 20!.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Attachments:
/bjm/difftext/plainDownload+12-12
Bruce Momjian <pgman@candle.pha.pa.us> writes:
Factorial work up to 20. After that one gets negative results.
I changed the docs to do a 20!.
Don't we have a TODO item to replace the existing factorial functions
with a NUMERIC implementation?
regards, tom lane
Tom Lane wrote:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
Factorial work up to 20. After that one gets negative results.
I changed the docs to do a 20!.
Don't we have a TODO item to replace the existing factorial functions
with a NUMERIC implementation?
We do, but until then, we should document a factorial that actually
returns a value in the int8 range. ;-)
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026