共用方式為


ceiling 函數 (XQuery)

傳回不含小數的最小數字,不小於其引數的值。如果引數是空的序列,它會傳回空的序列。

語法

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

引數

  • $arg
    會套用函數的數字。

備註

如果 $arg 類型是 xs:floatxs:doublexs:decimal 這三個數值基底類型之一,則傳回類型與 $arg 類型相同。

如果 $arg 的類型是從數值類型之一衍生而來,則傳回類型是基底數值類型。

如果 fn:floor、fn:ceiling 或 fn:round 函數的輸入是 xdt:untypedAtomic,則它會隱含地轉換為 xs:double

任何其他類型都會產生靜態錯誤。

範例

本主題針對儲存在 AdventureWorks 資料庫中之各種 xml 類型資料行的 XML 執行個體,提供 XQuery 範例。如需這些資料行中每個資料行的概觀,請參閱<在 AdventureWorks 資料庫中的 xml 資料類型表示法>。

A. 使用 ceiling() XQuery 函數

對於「產品型號 7」,此查詢傳回產品型號之製造過程中的工作中心位置的清單。如有記載,則此查詢會針對每一個工作中心位置,傳回位置識別碼、工時和批量。此查詢使用 ceiling 函數傳回工時,做為 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

注意下列項目是從上一個查詢而來:

  • AWMI 命名空間前置詞代表 Adventure Works Manufacturing Instructions。此前置詞是指要查詢之文件中使用的相同命名空間。
  • Instructionsxml 類型資料行。因此,query() 方法 (XML 資料類型) 是用來指定 XQuery。XQuery 陳述式指定為查詢方法的引數。
  • for ... return 是迴圈建構。在此查詢中,for 迴圈識別 <Location> 元素的清單。對於每一個工作中心位置,for 迴圈中的 return 陳述式描述要產生的 XML:
    • 含有 LocationID 和 LaborHrs 屬性的 <Location> 元素。大括號 ({ }) 內的相對應運算式從文件中擷取必要值。
    • { $i/@LotSize } 運算式從文件中擷取 LotSize 屬性 (如果有的話)。
    • 以下是結果:
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"/>

實作限制

以下這些是限制:

  • ceiling() 函數將所有整數值對應至 xs:decimal。

請參閱

參考

floor 函數 (XQuery)
round 函數 (XQuery)

說明及資訊

取得 SQL Server 2005 協助