sql >> Databasteknik >  >> RDS >> PostgreSQL

Är XPath summa- eller fn:sum-funktionen implementerad i PostgreSQL XPath?

Jag snubblade över samma problem och jag är glad att kunna lägga till ett annat svar på frågan:

Med PostgreSQL 9.2 har dokumentationen plötsligt en mening till som täcker xpath-funktionen:

Precis vad jag behöver! Så i förhållande till frågan är ett annat giltigt svar:Uppgradera till PostgreSQL 9.2. I det ögonblick jag skriver detta är version 9.2 bara en betaversion, men jag kan bekräfta att detta fungerar:

Versionsinformation

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 av lösning

(Denna demonstration gjordes med Postgre 9.5, eftersom jag ursprungligen klistrade in fel kod)

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. Få ett resultat genom att jämföra två tabeller med en identisk kolumn

  2. Hur kan jag infoga mer än 8000 tecken i en VARCHAR(MAX) kolumn med ExecuteNonQuery?

  3. Operator finns inte:heltal =? när du använder Postgres

  4. MySQLdb Stored Procedure Out-parameter fungerar inte