On 03/25/2011 10:59 AM, hubert depesz lubaczewski wrote:
On Fri, Mar 25, 2011 at 09:29:57AM -0600, Rob Sargent wrote:
Running 9.0.3 (client and server)


Seems I cannot subtract 1 from the result of position.

select distinct
        substring( substring(xml_text,1,300),
                   position( 'xmlns=' in substring(xml_text,1,300)) +
length('xmlns="'),
                   position( '"' in (substring(substring(xml_text,1,300),
                                                position( 'xmlns=' in
substring(xml_text,1,300)) + length('xmlns="'),
                                                100)))
                   ) as namespace
from elements;

is there any particular reason why you're writing something that
complicated instead of using simple regexp?

select distinct regexp_replace( xml_text, '.*xmlns="([^"]+)".*', E'\\1') from 
elements;

Best regards,

depesz


Just gross incompetency with regexps. Much thanks.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to