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:
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