PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Функцията XPath sum или fn:sum внедрена ли е в PostgreSQL XPath?

Попаднах на същия проблем и имам удоволствието да добавя още един отговор на въпроса:

С PostgreSQL 9.2 документацията изведнъж има още едно изречение, покриващо функцията xpath:

Точно от каквото имам нужда! Така че по отношение на въпроса друг валиден отговор е:Надстройте до PostgreSQL 9.2. В момента на писане на това версия 9.2 е само бета, но мога да потвърдя, че работи:

Подробности за версията

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)

Демонстрация на решение

(Тази демонстрация беше направена с Postgre 9.5, защото първоначално поставих грешен код)

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. Npgsql връзка със ssl сертификати в .net core web api

  2. PGError:Грешка:колона от релация не съществува

  3. Вмъкнете нов елемент в колона JSONB въз основа на стойността на друго поле - postgres

  4. Получаване на последната дума от низ на Postgres, декларативно

  5. PL/Python &postgreSQL:Кой е най-добрият начин да върнете таблица с много колони?