Hi gnari,
I suppose your statement
test=# select '\x'||'65';
is done on some command line interface. I don't have that. I can only use some client program. I'm using EMS SQL Manager 2007 and pgAdmin III 1.3
None of them accepts your statement.
My point is that in my first version of the function ( charset := charset || '\x65'; ) a unicode hex value for the letter e is stored in charset.
When I try to do the same for a range of hex values ( FOR i IN 101..101 LOOP charset := charset || '\x' || to_hex(i); ) it is not longer a bunch of hex values that get stored but a series of varchars.
When you run the first version of the function ( SELECT myfunction(); ) 'e' is returned, with the second version 'x65' is returned, while I want also 'e' to be returned.
Any ideas?
>>> Ragnar <gnari@hive.is> 2006-11-27 15:37 >>>
On mán, 2006-11-27 at 11:52 +0100, Bart Degryse wrote:
> Dear all,
> This works: SELECT '\x65'; => it returns the letter 'e'.
yes, but:
test=# select '\x'||'65';
?column?
----------
x65
(1 row)
> When I do the following in PL/PGSQL ....
> FOR i IN 101..101 LOOP
> charset := charset || '\x' || to_hex(i);
> END LOOP;
gnari