boş bir işlev (XQuery)
True verir değeri $arg bir boş dizisidir. Aksi durumda işlev false döndürür.
fn:empty($arg as item()*) as xs:boolean
Bağımsız değişkenler
- $arg
Öğelerin sırası.Sıra boş ise, işlev TRUE verir.Aksi durumda işlev false döndürür.
Remarks
The fn:exists() işlev is not supported.Diğer bir seçenek olarak, Not() işlev kullanılabilir.
Örnekler
Bu konu, çeşitli içinde depolanan XML örnekleri karşı XQuery örnekler sağlar. XML türü sütunlarındaki AdventureWorks veritabanındaki.Konusuna genel bir bakış bu sütunların her biri için bkz: XML veri türü temsili AdventureWorks veritabanındaki.
C.Öznitelik'ın yüklü olup olmadığını belirlemek için empty() XQuery işlevini kullanma
Ürün modeli 7 üretim sürecinde bu sorgu, yüklü tüm iş merkezi konumları döndürür bir MachineHours özniteliği.
SELECT ProductModelID, Instructions.query('
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
for $i in /AWMI:root/AWMI:Location[empty(@MachineHours)]
return
<Location
LocationID="{ ($i/@LocationID) }"
LaborHrs="{ ($i/@LaborHours) }" >
{
$i/@MachineHours
}
</Location>
') as Result
FROM Production.ProductModel
where ProductModelID=7
Bu sonucu oluşur:
ProductModelID Result
-------------- ------------------------------------------
7 <Location LocationID="30" LaborHrs="1"/>
<Location LocationID="50" LaborHrs="3"/>
<Location LocationID="60" LaborHrs="4"/>
Aşağıdaki, çok az değiştirilmiş sorgu "NotFound" verir MachineHour öznitelik yok:
SELECT ProductModelID, Instructions.query('
declare namespace p14="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
for $i in /p14:root/p14:Location
return
<Location
LocationID="{ ($i/@LocationID) }"
LaborHrs="{ ($i/@LaborHours) }" >
{
if (empty($i/@MachineHours)) then
attribute MachineHours { "NotFound" }
else
attribute MachineHours { data($i/@MachineHours) }
}
</Location>
') as Result
FROM Production.ProductModel
where ProductModelID=7
Bu sonucu oluşur:
ProductModelID Result
-------------- -----------------------------------
7
<Location LocationID="10" LaborHrs="2.5" MachineHours="3"/>
<Location LocationID="20" LaborHrs="1.75" MachineHours="2"/>
<Location LocationID="30" LaborHrs="1" MachineHours="NotFound"/>
<Location LocationID="45" LaborHrs="0.5" MachineHours="0.65"/>
<Location LocationID="50" LaborHrs="3" MachineHours="NotFound"/>
<Location LocationID="60" LaborHrs="4" MachineHours="NotFound"/>
See Also