sql >> Databáze >  >> RDS >> PostgreSQL

Je v PostgreSQL XPath implementována funkce XPath sum nebo fn:sum?

Narazil jsem na stejný problém a jsem rád, že mohu přidat další odpověď na otázku:

S PostgreSQL 9.2 má dokumentace najednou ještě jednu větu pokrývající funkci xpath:

Přesně to, co potřebuji! Takže ve vztahu k otázce je další platná odpověď:Upgrade na PostgreSQL 9.2. V okamžiku psaní tohoto článku je verze 9.2 pouze beta, ale mohu potvrdit, že to funguje:

Podrobnosti o verzi

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)

Ukázka řešení

(Tato ukázka byla provedena s Postgre 9.5, protože jsem původně vložil špatný kód)

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. Django ORM špatně čte sekvence PostgreSQL?

  2. Převeďte Unixové časové razítko na hodnotu data v Oracle

  3. Jak získat počet bitů v řetězci v MySQL – BIT_LENGTH()

  4. Mysql vložit do 2 tabulek