Re: UNICODE and PL/PGSQL
От | Ragnar |
---|---|
Тема | Re: UNICODE and PL/PGSQL |
Дата | |
Msg-id | 1164643030.27070.55.camel@localhost.localdomain обсуждение исходный текст |
Ответ на | Re: UNICODE and PL/PGSQL ("Bart Degryse" <Bart.Degryse@indicator.be>) |
Список | pgsql-sql |
On mán, 2006-11-27 at 15:54 +0100, Bart Degryse wrote: > 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. my point was that '\x65' as a literal is read as 'e', but '\\x' || '65' is just the concatation of 2 2-char varchars > 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); ) you might be able to do what you want with set_byte() and encode(). CREATE OR REPLACE FUNCTION myfunction() RETURNS varchar AS $x$ DECLARE x bytea := ' '; BEGIN FOR i in 101..105 LOOP x:=set_byte(x,i-101,i); END LOOP; RETURN encode(x,''escape'');END; $x$LANGUAGE 'plpgsql'; select myfunction(); gnari
В списке pgsql-sql по дате отправления: