On 31 Mar 2005 21:22:12 -0600, Doug Quale <[EMAIL PROTECTED]> wrote: > > > I basically want to convert a a hexadecimal to a decimal. > > Sure: > > > > test=> SELECT x'10'::integer; > > int4 > > ------ > > 16 > > (1 row)
Oh, some time ago I was looking for such a function and somehow I missed that. Maybe there should be a hint about it around string/numeric functions? > That's not the inverse of to_hex(). to_hex() takes an integer and > returns text. You've taken the bitstring constant B'10000' and > coerced it to integer. The inverse funtion would take the text '10' > and return the integer 16. Well, you can make a function out of it, say: CREATE FUNCTION from_hex(t text) RETURNS integer AS $$ DECLARE r RECORD; BEGIN FOR r IN EXECUTE 'SELECT x'''||t||'''::integer AS hex' LOOP RETURN r.hex; END LOOP; END $$ LANGUAGE plpgsql IMMUTABLE STRICT; Regards, Dawid ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings