Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Returnerar det minsta talet utan en bråkdel och som inte är mindre än värdet av dess argument. Om argumentet är en tom sekvens, returnerar det den tomma sekvensen.
Syntax
fn:ceiling ( $arg as numeric?) as numeric?
Arguments
$arg
Nummer som funktionen tillämpas på.
Remarks
Om typen av $arg är en av de tre numeriska bastyperna, xs:flyt,xs:dubbel eller xs:decimal, är returtypen densamma som för $arg typen.
Om typen av $arg är en typ som härleds från en av de numeriska typerna, är returtypen bas-numerisk typ.
Om inmatningen till fn:floor, fn:ceiling eller fn:round funktionerna är xdt:untypedAtomic, kastas den implicit till xs:double.
Alla andra typer genererar ett statiskt fel.
Examples
Det här avsnittet innehåller XQuery-exempel mot XML-instanser som lagras i olika XML- typkolumner i AdventureWorks-databasen.
A. Att använda ceiling() XQuery-funktionen
För produktmodell 7 returnerar denna fråga en lista över arbetsplatsens platser i tillverkningsprocessen för produktmodellen. För varje arbetsplatsplats returnerar sökningen plats-ID, arbetstimmar och tomtstorlek, om det är dokumenterat. Frågan använder takfunktionen för att returnera arbetstimmarna som värden av typen decimal.
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
Observera följande från föregående fråga:
AWMI-namnrymdsprefixet står för Adventure Works Manufacturing Instructions. Detta prefix avser samma namnrymd som används i det dokument som frågas.
Instructions är en kolumn av xml-typ . Därför används query()-metoden (XML-datatyp) för att specificera XQuery. XQuery-satsen specificeras som argumentet till frågemetoden.
för ... Return är en loopkonstruktion. I frågan identifierar for-loopen en lista med <platselement> . För varje arbetsplatsplats beskriver return-satsen i for-loopen XML:n som ska genereras:
Ett <platselement> som har attributen LocationID och LaborHrs. Det motsvarande uttrycket inuti klammerparenteserna ({ }) hämtar de önskade värdena från dokumentet.
Uttrycket { $i/@LotSize } hämtar attributet LotSize från dokumentet, om det finns.
Det här är resultatet:
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"/>
Implementeringsbegränsningar
Det här är begränsningarna:
- Ceiling()-funktionen avbildar alla heltalsvärden till xs:decimal.