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.

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

Argumenty

  • $arg
    Kolejność elementów, z którego ma zostać zwrócona wartość minimalna.

Remarks

Wszystkie typy wartości rozproszonych, które są przekazywane do funkcji min() muszą być podtypami tego samego typu podstawowego.Typy podstawowe, które są akceptowane, to typy obsługujące operację gt.Do typów tych należą trzy wbudowane podstawowe typy liczbowe, czyli xs:string, xs:boolean i xdt:untypedAtomic.Wartości typu xdt:untypedAtomic są rzutowane na typ xs:double.Jeśli wartości reprezentują różne typy spośród powyższych lub zostaną przekazane wartości innych typów, jest wywoływany błąd statyczny.

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

Funkcja min() zwraca jedną wartość w sekwencji, która jest mniejsza niż jakakolwiek inna w sekwencji wejściowej.W przypadku wartości typu xs:string jest stosowane domyślne sortowanie punktów kodowych Unicode.Jeśli nie można rzutować wartości xdt:untypedAtomic na typ xs:double, wartość jest ignorowana w sekwencji wejściowej, $arg.Jeśli dane wejściowe są dynamicznie obliczaną pustą sekwencją, zwracana jest pusta sekwencja.

Przykłady

W tym temacie przedstawiono przykłady XQuery przed XML wystąpienia, które są przechowywane w różnych XML typu kolumny bazy danych AdventureWorks.Aby uzyskać ogólne informacje o każdej z tych kolumn zobacz xml Data Type Representation in the AdventureWorks Database.

A.Korzystanie z funkcja XQuery min() w celu znalezienia lokalizacji środka pracy, która ma najmniejsze godzin pracy

Następująca kwerenda pobiera wszystkie lokalizacje gniazda pracy w procesie produkcyjnym modelu produktu (ProductModelID = 7) zostały fewest robociznę godziny.Ogólnie rzecz biorąc, jak pokazano poniżej, zwrócony pojedynczej lokalizacji.Jeśli w kilku miejscach miał taką samą liczbę godzin minimalne robociznę, ich czy wszystkie zwracane.

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

Pierwszy przycisk jest przyciskiem domyślnym.

  • The namespace keyword in the XQuery prolog defines a namespace prefix.Ten prefiks jest następnie używana w treści XQuery.

Jednostka XQuery konstrukcji XML, który ma <Lokalizacja> element o WCID i LaborHrs atrybuty.

  • ProductModelID również pobieranych przez kwerendę i nazwy wartości.

To jest wynik:

ProductModelID   Name              Result
---------------  ----------------  ---------------------------------
7                HL Touring Frame  <Location WCID="45" LaborHrs="0.5"/> 

defaultButton

Ograniczenia są następujące:

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

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

  • Wyliczanie określa przycisk domyślny dla wyjątku okna komunikatu.

  • Opcja składni, która zawiera sortowanie nie jest obsługiwana.