Share via


Min işlevi (XQuery)

Atomik değerleri dizisi gelen verir $arg, değeri, tüm diğerlerinin daha az öğe.

Sözdizimi

fn:min($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?

Bağımsız değişkenler

  • $arg
    İçinden en küçük değer verilecek öğelerin sırası.

Açıklamalar

Tüm türleri için geçen atomized değerleri **MIN()**aynı temel türün alt türlerinden olmak zorunda.Kabul edilen temel türleridir destekleyen türleri gt işlem.Bu türler, yerleşik sayısal temel üç temel tarih/saat türleri, xs:dize, xs:boolean ve xdt:untypedAtomic içerir.Değerleri türü xdt:untypedAtomic xs:double için artığını.Bu türlerinin bir karışımını ise veya diğer türdeki diğer değerleri aktarılırsa, statik bir hata ortaya çıkar.

Sonucu MIN() xs:double gibi geçirilen türleri temel türünü alır durum , xdt:untypedAtomic.Giriş statik olarak boş ise, boş örtülü ve statik bir hata döndürdü.

The min() function returns the one value in the sequence that is smaller than any other in the input sequence.Xs:dize değerler için varsayılan Unicode Codepoint harmanlama kullanılır.Xs:double için xdt:untypedAtomic değer atanamaz değer giriş sırayla sayılır $arg.Giriş bir dinamik olarak hesaplanan boş sırası ise, boş sırası döndürülür.

Örnekler

Bu konuda çeşitli içinde depolanan xml örnekleri karşı XQuery örnekler sağlar xml sütunları yazın AdventureWorks2008R2 veritabanı.Bir bakış bu sütunların her biri için bkz: XML veri türü temsili AdventureWorks2008R2 veritabanında.

A.XQuery MIN() kullanarak işlev en az işçilik saat olan iş merkezi konumu bulmak için

Tüm iş merkezi konumları üretim sürecindeki ürün modelini aşağıdaki sorgu alır (ProductModelID = 7) en işçilik saat sahip.Genellikle aşağıdaki gösterildiği gibi tek bir konum döndürülür.Birden çok konumda en düşük işçilik saat sayısı eşit olsaydı tüm döndürülür.

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:

  • The namespace keyword in the XQuery prolog defines a namespace prefix.Bu önek, daha sonra XQuery gövde içinde kullanılır.

Sahip xml XQuery gövde yapıları bir <yere> WCID olan öğe ve LaborHrs öznitelikleri.

  • Sorgu ayrıca ProductModelID alır ve adı değerleri.

Bu sonucu verir:

ProductModelID Name Result

--------------- ---------------- ---------------------------------

7 HL Touring Frame <Location WCID="45" LaborHrs="0.5"/>

Uygulama kısıtlamaları

Sınırlamalar şunlardır:

  • The min() function maps all integers to xs:decimal.

  • The min() function on values of type xs:duration is not supported.

  • Temel tür sınırlarında türleri karıştırmak sıraları desteklenir.

  • Bir harmanlama sağlar seçeneği sözdizimi desteklenmiyor.