数值函数 - ceiling

适用于:SQL Server

返回不带小数部分并且不小于其参数值的最小数字。 如果参数是一个空序列,则返回空序列。

语法

  
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 示例。

A. 使用 ceiling() XQuery 函数

对于产品型号 7,此查询返回产品型号生产过程中的生产车间的列表。 查询将返回每个生产车间的位置 ID、工时和批量大小(如果有记录)。 查询使用 ceiling 函数以 十进制类型的值的形式返回劳动小时数。

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 的生产说明。 此前缀引用被查询文档中使用的同一命名空间。

  • 指令xml 类型列。 因此,xml 数据类型) (query () 方法 用于指定 XQuery。 XQuery 语句指定为该查询方法的参数。

  • ...。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)