ceiling 함수(XQuery)

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

구문

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

인수

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

주의

$arg의 유형이 3가지 숫자 기본 유형인 xs:float, xs:double 또는 xs:decimal 중 하나이면 반환 유형은 $arg 유형과 같습니다.

$arg의 유형이 숫자 유형 중 하나에서 파생된 것이라면 반환 유형은 기본 숫자 유형입니다.

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

다른 유형을 사용하면 정적 오류가 발생합니다.

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

1.ceiling() XQuery 함수 사용

제품 모델 7에 대해 이 쿼리는 제품 모델의 제조 프로세스에 있는 작업 센터 위치 목록을 반환합니다. 각 작업 센터 위치에 대해 다음 쿼리는 문서화된 경우 위치 ID, 근무 시간 및 부지 크기를 반환합니다. 다음 쿼리는 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 유형의 열입니다. 따라서 XQuery를 지정하는 데 query() 메서드(XML 데이터 형식)가 사용됩니다. 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)