Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
A sztringként ábrázolt $arg értékét adja vissza.
Szintaxis
fn:string() as xs:string
fn:string($arg as item()?) as xs:string
Érvek
$arg
Csomópont vagy atomérték.
Megjegyzések
Ha $arg az üres sorozat, a nulla hosszúságú sztring lesz visszaadva.
Ha $arg csomópont, a függvény a karakterlánc-érték tartozék használatával kapott csomópont sztringértékét adja vissza. Ezt a W3C XQuery 1.0 és az XPath 2.0 adatmodell specifikációja határozza meg.
Ha $arg egy atomi érték, a függvény ugyanazt a sztringet adja vissza, amelyet a visszaadott kifejezés visszaad, mint
xs:stringa $arg, kivéve, ha másként van megadva.Ha a $arg típusa az
xs:anyURI, az URI sztringgé alakul anélkül, hogy speciális karaktereket próbálná ki.Ebben a megvalósításban
fn:string()argumentum nélkül csak egy környezetfüggő predikátum kontextusában használható. Pontosabban csak szögletes zárójelekben ([ ]) használható.
Példák
Ez a cikk XQuery-példákat tartalmaz az AdventureWorks-adatbázis különböző XML-típusú oszlopaiban tárolt XML-példányokra.
Egy. A sztringfüggvény használata
Az alábbi lekérdezés lekéri a <Features> elem <ProductDescription> gyermekelem-csomópontját.
SELECT CatalogDescription.query('
declare namespace PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";
/PD:ProductDescription/PD:Features
')
FROM Production.ProductModel
WHERE ProductModelID = 19;
A részleges eredmény a következő:
<PD:Features xmlns:PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">
These are the product highlights.
<p1:Warranty xmlns:p1="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain">
<p1:WarrantyPeriod>3 years</p1:WarrantyPeriod>
<p1:Description>parts and labor</p1:Description>
</p1:Warranty>
...
</PD:Features>
Ha megadja a függvényt string() , megkapja a megadott csomópont sztringértékét.
SELECT CatalogDescription.query('
declare namespace PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";
string(/PD:ProductDescription[1]/PD:Features[1])
')
FROM Production.ProductModel
WHERE ProductModelID = 19;
Íme a részleges eredmény.
These are the product highlights.
3 yearsparts and labor...
B. A sztringfüggvény használata különböző csomópontokon
Az alábbi példában egy XML-példány van hozzárendelve egy XML-típusváltozóhoz. A lekérdezések a különböző csomópontokra való alkalmazás string() eredményét szemléltetik.
DECLARE @x AS XML;
SET @x = '<?xml version="1.0" encoding="UTF-8" ?>
<!-- This is a comment -->
<root>
<a>10</a>
just text
<b attr="x">20</b>
</root>
';
Az alábbi lekérdezés lekéri a dokumentumcsomópont sztringértékét. Ez az érték az összes leszármazott szöveges csomópont sztringértékének összefűzésével jön létre.
SELECT @x.query('string(/)');
Az eredmény a következő:
This is a comment 10
just text
20
Az alábbi lekérdezés egy feldolgozási utasítás csomópont sztringértékét próbálja lekérni. Az eredmény egy üres sorozat, mert nem tartalmaz szövegcsomópontot.
SELECT @x.query('string(/processing-instruction()[1])');
Az alábbi lekérdezés lekéri a megjegyzéscsomópont sztringértékét, és visszaadja a szövegcsomópontot.
SELECT @x.query('string(/comment()[1])');
Az eredmény a következő:
This is a comment
Kapcsolódó tartalom
- XQuery-függvények xml adattípusú