Dkloskxe Steve Crawford <scrawford@xxxxxxxxxxxxxxxxxxxx> wrote: >On 05/25/2011 11:45 AM, Reuven M. Lerner wrote: >> Hi, Alex. You wrote: >>> Have you tried something like: >>> SELECT encode(regexp_replace('141142143', '(\d{3})', '\\\1', >>> 'g')::bytea, 'escape'); >> Hmm, forgot about regexp_replace. It might do the trick, but without >> a full-blown eval that I can run on the replacement side, it'll be a >> bit more challenging. But that's a good direction to consider, for sure. > >The function given didn't work exactly as written for me but it is on >the right track. See if this works for you (input validation is left as >an exercise for the reader...:)): > >create or replace function octal_string_to_text(someoctal text) returns >text as $$ >declare > binstring text; >begin > execute 'select E''' || regexp_replace($1, E'(\\d{3})', E'\\\\\\1', >'g') || '''' into binstring; >return binstring; >end >$$ language plpgsql; > >Cheers, >Steve > > >-- >Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) >To make changes to your subscription: >http://www.postgresql.org/mailpref/pgsql-performance -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance