숫자 값 함수 - 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에 매핑합니다.