Re: How to parse XML in Postgres newer versions also
От | Pavel Stehule |
---|---|
Тема | Re: How to parse XML in Postgres newer versions also |
Дата | |
Msg-id | CAFj8pRCKnT_hiHeS268e5SNryY0dDUFaBDe9qvMBLT5TBqC2Wg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: How to parse XML in Postgres newer versions also ("Andrus" <kobruleht2@hot.ee>) |
Список | pgsql-general |
ne 17. 3. 2019 v 15:11 odesílatel Andrus <kobruleht2@hot.ee> napsal:
Hi>This variant is working>postgres=# SELECT
> (xpath('/ns:Ntry/ns:Amt/text()', x,nsa))[1]::text::numeric AS tasusumma
> FROM (
> SELECT unnest(xpath('/ns:Document/ns:BkToCstmrStmt/ns:Stmt/ns:Ntry',
>x,nsa)) as x,
> nsa
> FROM t
> ) Ntry
>;>But I have not a idea, why old code doesn't work. It is little bit strange so it worked without namespace before Amt tag.In 9.1.5 it returns nullsIn 9.1.5 without namespaces(xpath('Amt/text()', x,nsa))[1]::text::numeric AS tasusummaworks.How to make it work in both versions?Is it possible add some CASE WHEN or IF command or any other idea ?
Probably this bugfix breaks your code
9.1 is unsupported release, so if you can, just fix it for supported releases.
else where, you need to prepare two different expressions.
Regards
Pavel
Andrus.
В списке pgsql-general по дате отправления: