Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Retorna o menor número sem uma parte fracionária e que não é menor do que o valor de seu argumento. Se o argumento for uma sequência vazia, ele retornará a sequência vazia.
Sintaxe
fn:ceiling ( $arg as numeric?) as numeric?
Argumentos
$arg
Número ao qual a função é aplicada.
Comentários
Se o tipo de $arg for um dos três tipos de base numérica, xs:float, xs:doubleou xs:decimal, o tipo de retorno será o mesmo que o tipo $arg.
Se o tipo de $arg é um tipo derivado de um dos tipos numéricos, o tipo de retorno é o tipo numérico base.
Se a entrada para as funções fn:floor, fn:ceiling ou fn:round for xdt:untypedAtomic, ela será implicitamente convertida para xs:double.
Qualquer outro tipo gera um erro estático.
Exemplos
Este tópico fornece exemplos de XQuery em instâncias XML armazenadas em várias colunas xml type no banco de dados AdventureWorks.
Um. Usando a função ceiling() XQuery
Para o modelo de produto 7, essa consulta retorna uma lista dos locais do centro de trabalho no processo de fabricação do modelo de produto. Para cada local do centro de trabalho, a consulta retorna o ID do local, as horas de trabalho e o tamanho do lote, se documentado. A consulta usa a função teto para retornar as horas de trabalho como valores do tipo 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
Observe o seguinte da consulta anterior:
O prefixo do namespace AWMI significa Instruções de fabricação da Adventure Works. Esse prefixo refere-se ao mesmo namespace usado no documento que está sendo consultado.
Instruções é uma coluna de tipo de xml. Portanto, o método query() (tipo de dados XML) é usado para especificar XQuery. A instrução XQuery é especificada como o argumento para o método de consulta.
para ... return é uma construção de loop. Na consulta, o para loop identifica uma lista de elementos <Location>. Para cada local do centro de trabalho, a instrução return no loop for descreve o XML a ser gerado:
Um <Location> elemento que tem atributos LocationID e LaborHrs. A expressão correspondente dentro das chaves ({ }) recupera os valores necessários do documento.
A expressão { $i/@LotSize } recupera o atributo LotSize do documento, se presente.
Este é o resultado:
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"/>
Limitações de implementação
Estas são as limitações:
- A função ceiling() mapeia todos os valores inteiros para xs:decimal.
Ver também
Função de piso (XQuery)
função redonda (XQuery)