다음을 통해 공유


숫자 값 함수 - ceiling

적용 대상: SQL Server

소수점 부분이 없이 해당 인수의 값보다 작지 않은 가장 작은 수를 반환합니다. 인수가 빈 시퀀스인 경우 빈 시퀀스를 반환합니다.

구문

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

인수

$arg
함수가 적용되는 번호입니다.

설명

$arg 형식이 xs:float, xs:double 또는 xs:decimal의 세 가지 숫자 기본 형식 중 하나인 경우 반환 형식은 $arg 형식과 동일합니다.

$arg 형식이 숫자 형식 중 하나에서 파생된 형식인 경우 반환 형식은 기본 숫자 형식입니다.

fn:floor, fn:ceiling 또는 fn:round 함수에 대한 입력이 xdt:untypedAtomic이면 암시적으로 xs:double캐스팅됩니다.

다른 모든 형식은 정적 오류를 생성합니다.

예제

이 항목에서는 AdventureWorks 데이터베이스의 다양한 xml 형식 열에 저장된 XML 인스턴스에 대한 XQuery 예제를 제공합니다.

A. ceiling() XQuery 함수 사용

제품 모델 7의 경우 이 쿼리는 제품 모델의 제조 프로세스에서 작업 센터 위치 목록을 반환합니다. 각 작업 센터 위치에 대해 쿼리는 문서화된 경우 위치 ID, 노동 시간 및 Lot 크기를 반환합니다. 쿼리는 최대값 함수를 사용하여 작업 시간을 10진수 형식의 값으로 반환합니다.

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 형식 열입니다. 따라서 query() 메서드(XML 데이터 형식) 는 XQuery를 지정하는 데 사용됩니다. XQuery 문은 쿼리 메서드에 대한 인수로 지정됩니다.

  • 때문에... return 은 루프 구문입니다. 쿼리에서 for 루프는 위치> 요소 목록을 <식별합니다. 각 작업 센터 위치에 대해 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)