Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения:SQL Server
Поддерживаются все арифметические операторы, за исключением идивов. Следующие примеры иллюстрируют использование арифметических операторов:
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:decimal в xs:double сначала изменит десятичное значение на двойное. Затем выполняется операция сложения, в результате которой получается значение типа double.
Нетипизированные атомарные значения отбрасываются к числовой базовой типу другого операнда или к xs:double , если другой операнды также нетипичен.
Ограничения реализации
Существуют следующие ограничения:
Аргументы для арифметических операторов должны быть числовыми или нетипизированными.
Операции с значениями xs:integer приводят к значению типа xs:decimal вместо xs:integer.