sql >> Database teknologi >  >> RDS >> PostgreSQL

Er XPath sum eller fn:sum funktion implementeret i PostgreSQL XPath?

Jeg faldt over det samme problem, og jeg er glad for at kunne tilføje endnu et svar til spørgsmålet:

Med PostgreSQL 9.2 har dokumentationen pludselig en sætning mere, der dækker xpath-funktionen:

Lige hvad jeg har brug for! Så i forhold til spørgsmålet er et andet gyldigt svar:Opgrader til PostgreSQL 9.2. I det øjeblik, jeg skriver dette, er version 9.2 kun en beta, men jeg kan bekræfte, at dette virker:

Versionsdetaljer

postgres=# select version();
                                                     version                                                      
------------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.2beta1 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52), 64-bit
(1 row)

Demonstration af løsning

(Denne demonstration blev lavet med Postgre 9.5, fordi jeg oprindeligt indsatte den forkerte kode)

postgres=# SELECT xpath('sum(/my:a/value[.>15])', '<my:a xmlns:my="http://example.com">
postgres'# <value>20</value>
postgres'# <value>10</value>
postgres'# <value>30</value>
postgres'# </my:a>',
postgres(# ARRAY[ARRAY['my', 'http://example.com']]);
 xpath 
-------
 {50}
(1 row)


  1. Tæl poster fra to tabeller grupperet efter ét felt

  2. Opdater flere kolonner, der starter med en bestemt streng

  3. C# Hvordan analyserer man en datostreng i et vilkårligt specificeret Oracle-datoformat?

  4. REGEXP_LIKE konvertering i SQL Server T-SQL