Udostępnij przez


CEILING, funkcja (XQuery)

Zwraca najmniejszą liczbę bez części ułamkowej i jest nie mniejsza niż wartość argumentu.Jeśli argument jest pusty sekwencji, zwraca pusty sekwencji.

Składnia

fn:ceiling ( $arg as numeric?) as numeric?

Argumenty

  • $arg
    Numer, do którego zastosowano funkcja.

Uwagi

Jeśli typ $arg jest jednym z trzech typów liczbowych podstawowej, xs:float, xs:double, lub xs:decimal, typ zwracany jest taka sama jak $arg typu.

Jeśli typ $arg jest typ, który pochodzi z jednego z typów liczbowych jest zwracany typ podstawowy typu numerycznego.

Jeśli dane wejściowe do funkcji fn:floor, fn:ceiling lub fn:round xdt:untypedAtomic, niejawnie jest oddanych do xs:double.

Innym typem generuje błąd statyczne.

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.Za pomocą funkcja XQuery ceiling()

Dla modelu produktu 7 ta kwerenda zwraca listę lokalizacji pracy Centrum w procesie produkcji modelu produktu.Dla każdej lokalizacji Centrum pracy kwerenda zwraca identyfikator lokalizacji, godziny robociznę i wielkość partii, jeśli udokumentowane.W kwerendzie użyto pułap funkcja zwraca godziny robocizny jako wartości typu dziesiętny.

SELECT ProductModelID, Instructions.query('
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions"; 
     for $i in /AWMI:root/AWMI:Location
     return 
       <Location LocationID="{ $i/@LocationID }" 
                   LaborHrs="{ ceiling($i/@LaborHours) }" >
                    { 
                      $i/@LotSize
                    }  
       </Location>
') AS Result
FROM Production.ProductModel
WHERE ProductModelID=7

Poniższe z poprzedniej kwerendy:

  • Prefiks obszaru nazw AWMI oznacza Adventure Works wytwarzania instrukcje.Tego prefiksu odnosi się do tego samego obszaru nazw używanych w dokumencie, którego dotyczy kwerenda.

  • Instrukcje jest xml typu kolumna.Dlatego query(), metoda (typ danych XML) jest używana do określenia XQuery.Instrukcja XQuery jest określony jako argument do metoda kwerendy.

  • dla... Zwraca jest konstrukcji pętli.W kwerendzie dla pętli identyfikuje listę <lokalizację> elementów.Dla każdej lokalizacji Centrum pracy zwrotu instrukcja w dla pętli opisuje XML do wygenerowania:

    • A <lokalizację> element, który ma atrybutów LocationID i LaborHrs.Odpowiednie wyrażenie w nawiasach klamrowych ({}) pobiera wymagane wartości z dokumentu.

    • Wyrażenie {$i/@LotSize} pobiera atrybut LotSize z dokumentu, jeśli jest obecna.

    • Jest to wynikiem:

ProductModelID Result  
-------------- ------------------------------------------------------
7      <Location LocationID="10" LaborHrs="3" LotSize="100"/>
       <Location LocationID="20" LaborHrs="2" LotSize="1"/>   
       <Location LocationID="30" LaborHrs="1" LotSize="1"/>   
       <Location LocationID="45" LaborHrs="1" LotSize="20"/>
       <Location LocationID="60" LaborHrs="3" LotSize="1"/>   
       <Location LocationID="60" LaborHrs="4" LotSize="1"/>

Ograniczenia wdrażania

Są następujące ograniczenia:

  • Ceiling() funkcja odwzorowuje wszystkie wartości całkowitych xs:decimal.