Udostępnij za pośrednictwem


min, funkcja (XQuery)

Zwraca wartość z sekwencji niepodzielny wartości $arg, jeden element, którego wartość jest mniejsza niż w przypadku wszystkich innych.

Składnia

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

Argumenty

  • $arg
    Sekwencja elementów, z której zostanie zwrócona wartość minimalna.

Uwagi

Wszystkie rodzaje atomized wartości, które są przekazywane do **min()**musi być podtypów tego samego typu podstawowego.Typów podstawowych, które są akceptowane są typy, które obsługują gt operacji.Typy te obejmują trzy wbudowane podstawowe typy liczbowe, data /czas podstawowe typy, xs:ciąg, xs:boolean i xdt:untypedAtomic.Wartości typu xdt:untypedAtomic są rzutowane na xs:double.Jeśli mieszanki te typy lub inne wartości inne typy są przekazywane jest wywoływane statyczne błąd.

Wynik min() odbiera typu podstawowego przekazanego typów, takich jak xs:double w przypadek z xdt:untypedAtomic.Jeśli dane wejściowe są statycznie puste, domniemanych puste i zwracany jest błąd statyczne.

Min() funkcja zwraca jedną wartość sekwencji jest mniejszy niż inne w sekwencji wejściowych.Dla wartości xs:ciąg jest używana domyślna Unicode rozróżniające punktów kodowych znaków dwuskładnikowych.Jeśli wartość xdt:untypedAtomic nie można rzutować na xs:double, wartość jest ignorowana w sekwencji wejściowych $arg.Dane wejściowe są dynamicznie obliczeniowe sekwencji puste, zwracany jest pusty sekwencji.

Przykłady

W tym temacie przedstawiono przykłady XQuery przeciwko wystąpień XML, które są przechowywane w różnych xml wpisz kolumn w AdventureWorks2008R2 bazy danych.Przegląd tych kolumn, zobacz XML reprezentacji typu danych w bazie danych AdventureWorks2008R2.

A.Aby znaleźć lokalizację centrum pracy, która ma najmniejszą liczbą godzin pracy przy użyciu min() XQuery, funkcja

Następująca kwerenda pobiera wszystkie lokalizacje Centrum pracy w procesie produkcji modelu produktu (ProductModelID = 7) zawierające najmniejszą liczbę godzin robociznę.Ogólnie, jak pokazano poniżej, pojedynczej lokalizacji jest zwracany.Jeśli wiele lokalizacji równą liczbę godzin minimalne robociznę, one wszystkie zostałaby zwrócona.

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;

Poniższe z poprzedniej kwerendy:

  • Nazw słowo kluczowe w prologu XQuery definiuje prefiks obszaru nazw.Ten prefiks jest następnie używana jako treść XQuery.

Treść XQuery konstrukcji XML, który ma <lokalizację> element z WCID i LaborHrs atrybuty.

  • Kwerenda pobiera także ProductModelID i nazwa wartości.

Jest to wynikiem:

ProductModelID Name Result

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

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

Ograniczenia wdrażania

Są następujące ograniczenia:

  • Min() funkcja odwzorowuje wszystkie liczby całkowite xs:decimal.

  • Min() nie jest obsługiwana funkcja na wartości typu xs: Duration.

  • Sekwencje wymieszać typów granicami typu podstawowego nie są obsługiwane.

  • Syntaktyczne opcja, która zapewnia sortowanie nie jest obsługiwana.

Zobacz także

Odwołanie