sql >> Databasteknik >  >> RDS >> PostgreSQL

XPath1 vid SQL/XML, count element returnerar tomma

REDIGERA :Som jag noterade i kommentarerna nedan, och som anges i det här SO-svaret , detta problem uppenbarligen åtgärdats i Postgresql 9.2. Det svaret säger:

Nedan är resten av mitt ursprungliga svar:

Detta verkar vara en känd begränsning i Postgresqls xpath() funktion - endast uttryck som evalueras till en noduppsättning returnerar något; XPath-uttryck som skulle returnera ett skalärt värde returnerar bara en tom array.

Vissa Google-sökningar avslöjar en diskussion om detta för ungefär 2 år sedan, främst från en person som heter Florian Pflug:

http://postgresql.1045698.n5.nabble.com/PATCH-Bug-in-XPATH-if-expression-returns-a-scalar-value-td4440233.html


Han har utvecklat en patch som förmodligen löser problemet och som är bifogad till följande tråd (även om jag inte är helt säker på att detta är den senaste versionen):

http://www.postgresql.org /meddelande-id/[email protected]


Det verkar finnas en viss diskussion om för- och nackdelarna med hans patch, så jag skulle föreslå att du läser igenom dessa trådar för att vara medveten om vad som är inblandat:

http://www.postgresql.org/message-id/example @sqldat.com http://www.postgresql.org/message-id/example @sqldat.com



  1. Hur UPPER()-funktionen fungerar i MySQL

  2. Stoppa MySQL-återanvändning av AUTO_INCREMENT ID:n

  3. SHOW TABLES-sats med flera LIKE-värden

  4. MySQL UPPDATERING med slumptal mellan 1-3