Sayısal Değerler İşlevleri - tavan

Şunlar için geçerlidir: SQL Server

Kesirli bir parça olmadan en küçük sayı döndürür ve bu, argümanın değerinden az değildir. Eğer argüman boş bir diziye ise, boş diziyi döndürür.

Syntax

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

Arguments

$arg
Fonksiyonun uygulandığı sayı.

Remarks

Eğer $arg türü üç sayısal taban tipinden biriyse, xs:float, xs:double veya xs:decimal, dönüş tipi $arg tipiyle aynıdır.

Eğer $arg tipi sayısal tiplerden birinden türetilen bir tipse, dönüş tipi temel sayısal tiptir.

Eğer fn:floor, fn:ceiling veya fn:round fonksiyonlarına girdi xdt:untypedAtomic ise, örtük olarak xs:double olarak gönderilir.

Diğer herhangi bir tür statik hata oluşturur.

Examples

Bu konu, AdventureWorks veritabanındaki çeşitli xml türü sütunlarında depolanan XML örneklerine karşı XQuery örnekleri sağlar.

A. Tavan() XQuery fonksiyonunun kullanılması

Ürün modeli 7 için, bu sorgu ürün modelinin üretim sürecindeki iş merkezi konumlarının bir listesini döndürür. Her çalışma merkezi konumu için, sorgu belgelenmişse konum kimliği, çalışma saatleri ve lot büyüklüğünü döndürür. Sorgu, çalışma saatlerini ondalık değer olarak döndürmek için tavan fonksiyonunu kullanır.

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  

Önceki sorgudan aşağıdakilere dikkat edin:

  • AWMI isim alanı öneki Adventure Works Üretim Talimatları anlamına gelir. Bu önek, sorgulanan belgede kullanılan aynı isim alanına atıfta bulunur.

  • Komutlar bir xml tipi sütundur. Bu nedenle, query() yöntemi (XML veri türü) XQuery'yi belirtmek için kullanılır. XQuery ifadesi, sorgu yönteminin argümanı olarak belirtilir.

  • çünkü ... Return bir döngü yapısıdır. Sorguda, for döngüsü Konum> öğeleri listesini <tanımlar. Her iş merkezi konumu için, for döngüsündeki return ifadesi oluşturulacak XML'i tanımlar:

    • LocationID ve LaborHrs özelliklerine sahip bir <Konum> öğesi. Braketlerin içindeki ilgili ifade ({ }) belgeden gerekli değerleri alır.

    • { $i/@LotSize } ifadesi, varsa belgeden LotSize özniteliğini alır.

    • Sonuç şu şekildedir:

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"/>  

Uygulama Sınırlamaları

Sınırlamalar şunlardır:

  • Ceiling() fonksiyonu tüm tam sayı değerlerini xs:ondalık olarak eşler.