Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Değeri diğerlerinden daha küçük olan bir öğe olan atomik değerler dizisinden $arg döndürür.
Sözdizimi
fn:min($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?
Arguments
$arg
En düşük değerin döndürüleceği öğe dizisi.
Açıklamalar
min() öğesine geçirilen atomize değerlerin tüm türleri aynı temel türdeki alt türler olmalıdır. Kabul edilen temel türler , gt işlemini destekleyen türlerdir. Bu türlerde üç yerleşik sayısal taban türü, tarih/saat temel türleri, xs:string, xs:boolean ve xdt:untypedAtomic bulunur. xdt:untypedAtomic türü değerleri xs:double olarak yayınlanmıştır. Bu türlerin bir karışımı varsa veya diğer türlerin diğer değerleri geçirilirse, statik bir hata oluşur.
min() sonucu, xdt:untypedAtomic durumunda xs:double gibi geçirilen türlerin temel türünü alır. Giriş statik olarak boşsa, boş anlamına gelir ve statik bir hata döndürülür.
min() işlevi, dizideki giriş dizisindeki herhangi bir değerden daha küçük olan bir değeri döndürür. xs:string değerleri için varsayılan Unicode Codepoint Harmanlaması kullanılır. Bir xdt:untypedAtomic değeri xs:double'a bırakılamazsa, değer giriş dizisinde yoksayılır $arg. Giriş dinamik olarak hesaplanan boş bir diziyse, boş dizi döndürülür.
Örnekler
Bu konu, AdventureWorks veritabanındaki çeşitli xml türü sütunlarında depolanan XML örneklerine karşı XQuery örnekleri sağlar.
A. En az çalışma saati olan iş merkezi konumunu bulmak için min() XQuery işlevini kullanma
Aşağıdaki sorgu, ürün modelinin üretim sürecindeki (ProductModelID=7) en az çalışma saati olan tüm iş merkezi konumlarını alır. Genel olarak, aşağıdakilerde gösterildiği gibi tek bir konum döndürülür. Birden çok konumda eşit sayıda minimum çalışma saati varsa, bunların tümü iade edilir.
select ProductModelID, Name, Instructions.query('
declare namespace AWMI=
"https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
for $Location in /AWMI:root/AWMI:Location
where $Location/@LaborHours =
min( /AWMI:root/AWMI:Location/@LaborHours )
return
<Location WCID= "{ $Location/@LocationID }"
LaborHrs= "{ $Location/@LaborHours }" />
') as Result
FROM Production.ProductModel
WHERE ProductModelID=7
Önceki sorgudan aşağıdakilere dikkat edin:
- XQuery günlüğündeki namespace anahtar sözcüğü bir ad alanı ön eki tanımlar. Bu ön ek daha sonra XQuery gövdesinde kullanılır.
XQuery gövdesi, WCID ve LaborHrs özniteliklerine sahip bir <Location> öğesine sahip XML'yi oluşturur.
- Sorgu ayrıca ProductModelID ve ad değerlerini de alır.
Sonuç şu şekildedir:
ProductModelID Name Result
--------------- ---------------- ---------------------------------
7 HL Touring Frame <Location WCID="45" LaborHrs="0.5"/>
Uygulama Sınırlamaları
Sınırlamalar şunlardır:
min() işlevi tüm tamsayıları xs:decimal ile eşler.
xs:duration türündeki değerlerdeki min() işlevi desteklenmez.
Türleri temel tür sınırları arasında karıştıran diziler desteklenmez.
Harmanlama sağlayan söz dizimsel seçenek desteklenmez.