¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Expresiones aritméticas (XQuery)

Se admiten todos los operadores aritméticos, excepto idiv. Los siguientes ejemplos ilustran el uso básico de operadores aritméticos:

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

Dado que idiv no se admite, una solución es utilizar el constructor 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)')

El tipo resultante de un operador aritmético se basa en los tipos de los valores de entrada. Si los operandos son de tipos distintos, uno o los dos, cuando sea necesario, se convertirán a un tipo base primitivo común, según la jerarquía de tipos. Para obtener información acerca de la jerarquía de tipos, vea Reglas de conversión de tipos en XQuery.

La promoción de tipos numéricos se produce si los dos operandos son de tipos base numéricos distintos. Por ejemplo, si se suma un xs:decimal a un xs:double, primero se cambiaría el valor decimal a double. A continuación, se efectuaría la suma, que daría como resultado un valor double.

Los valores atómicos sin tipo se convierten al tipo base numérico del otro operando, o a xs:double si el otro operando tampoco tiene tipo.

Éstas son las limitaciones:

  • Los argumentos para los operadores aritméticos deben ser de tipo numérico o untypedAtomic.

  • Las operaciones con valores xs:integer dan como resultado un valor de tipo xs:decimal en lugar de xs:integer.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft