PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Czy XPath sum lub funkcja fn:sum jest zaimplementowana w PostgreSQL XPath?

Natknąłem się na ten sam problem i z przyjemnością dodam kolejną odpowiedź na pytanie:

W przypadku PostgreSQL 9.2 w dokumentacji pojawiło się nagle jeszcze jedno zdanie opisujące funkcję xpath:

Właśnie to czego potrzebuje! Tak więc w odniesieniu do tego pytania inną poprawną odpowiedzią jest:Uaktualnij do PostgreSQL 9.2. W chwili pisania tego tekstu wersja 9.2 to tylko beta, ale mogę potwierdzić, że to działa:

Szczegóły wersji

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)

Demonstracja rozwiązania

(Ta demonstracja została wykonana w Postgre 9.5, ponieważ pierwotnie wkleiłem zły 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyzwalacze vs. JPA @PrePersist do tworzenia i aktualizowania znaczników czasu plusy i minusy

  2. Przywrócić plik kopii zapasowej postgres za pomocą wiersza poleceń?

  3. Zwiększ wartość w Postgres

  4. Ulepszenia raportowania postępów w PostgreSQL 12

  5. Postgresql grupuj według dla wielu linii