산술 식(XQuery)

적용 대상:SQL Server

idiv를 제외한 모든 산술 연산자가 지원됩니다. 다음 예제에서는 산술 연산자의 기본 사용을 보여 줍니다.

DECLARE @x xml  
SET @x=''  
SELECT @x.query('2 div 2')  
SELECT @x.query('2 * 2')  

idiv는 지원되지 않으므로 솔루션은 xs:integer() 생성자를 사용하는 것입니다.

DECLARE @x xml  
SET @x=''  
-- Following will not work  
-- SELECT @x.query('2 idiv 2')  
-- Workaround   
SELECT @x.query('xs:integer(2 div 3)')  

산술 연산자의 결과 형식은 입력 값의 형식을 기반으로 합니다. 피연산자가 다른 형식인 경우 필요한 경우 하나 또는 둘 다 형식 계층 구조에 따라 공통 기본 기본 형식으로 캐스팅됩니다. 형식 계층 구조에 대한 자세한 내용은 XQuery의 형식 캐스팅 규칙을 참조하세요.

두 연산이 서로 다른 숫자 기본 형식인 경우 숫자 형식 승격이 발생합니다. 예를 들어 xs:double에 xs:decimal추가하면 먼저 10진수 값이 double로 변경됩니다. 다음으로, 더하기 작업을 수행하여 이중 값을 생성합니다.

형식화되지 않은 원자성 값은 다른 피연산자의 숫자 기본 형식으로 캐스팅되거나 다른 피연산자도 형식화되지 않은 경우 xs:double 로 캐스팅됩니다.

구현 제한 사항

제한 사항은 다음과 같습니다.

  • 산술 연산자의 인수는 숫자 형식이거나 untypedAtomic이어야 합니다.

  • xs:integer 값에 대한 작업을 수행하면 xs:integer 대신 xs:decimal 형식값이 생성됩니다.