Операторы

Список операторов, которые можно использовать в выражениях.

Оператор Описание
- Arg1 Делает аргумент отрицательным. Аргумент и результат являются значениями типа Real.
Arg1 + Arg2 Суммирует два аргумента. Для конкатенации String используется оператор &.
Arg1 - Arg2 Вычитает Arg2 из Arg1.
Arg1 * Arg2 Перемножает два аргумента. Аргументы и результат являются значениями типа Real или Decimal.
Arg1 / Arg2 Делит Arg1 на Arg2. Аргументы и результат являются значениями типа Real или Decimal. Деление на нуль дает недопустимое значение.

Примеры.

7/2 → 3,5

0/0 →(Empty)

-1/0 →(Empty)

Arg1 & Arg2 Добавляет Arg2 в конец Arg1. Аргументы могут быть любого типа, но будут преобразованы в строковые. Результатом является значение типа String. Кроме того см. раздел функции Concatenate.

Примеры.

"April " & (20+1) & "st" → "April 21st"

null & "Ape"(Empty)

Arg1 % Arg2 Возвращает остаток от деления Arg1 на Arg2. Аргументы и результат являются значениями типа Real или Decimal. Недопустимые значения распространяются в столбец результатов.

Пример.

3.5 % 2.5 → 1,00

Arg1 != Arg2

Возвращает значение True, если Arg1 не равен Arg2.

Примеры.

If( 1 != 2, true, false )

Case when 2 != 2 then true else false end

Arg1^Arg2 Возвращает Arg1 в степени Arg2.

Пример.

2.5^3

[Value Column]^2

Arg1 < Arg2 Возвращает значение true, если Arg1 меньше Arg2. Аргументы могут быть любого, но одинакового типа. Результатом является значение типа Boolean. Если любой из аргументов недействителен, результат будет недействительным. Функция определяется для сравнения друг с другом нормальных чисел. Использование других сочетаний приведет к недопустимым значениям.

Примеры.

If( 1 < 2, "true", "false" )true

Case when 2 < 1 then "true" else "false" end false

If(1<null, "true", "false")(Empty)

If(1 < 1/0, "true", "false")(Empty)

Arg1 > Arg2 Возвращает значение true, если Arg1 больше Arg2. Аргументы принадлежат к типу Real, а результат — Boolean. Определение допустимых аргументов см. в операторе <.
Arg1 <= Arg2 Возвращает значение true, если Arg1 меньше или равен Arg2. Аргументы принадлежат к типу Real, а результат — Boolean. Определение допустимых аргументов см. в операторе <.
Arg1 >= Arg2 Возвращает значение true, если Arg1 больше или равен Arg2. Аргументы принадлежат к типу Real, а результат — Boolean. Определение допустимых аргументов см. в операторе <.
Arg1 = Arg2 Возвращает значение True, если Arg1 равен Arg2. Аргументы могут быть любого, но одинакового типа. Результатом является значение типа Boolean. Если любой из аргументов равен NULL, результат будет недействительным. Определение допустимых действительных аргументов типа Real см. в операторе <.

Примеры.

If(1 = 2, "true", "false" )alse

Case when 2 = 2 then "true" else "false" endrue

If("Hello" = "hello", "true", "false" )alse

If("" = null, "true", "false" ) → (Empty)

If(null = null, "true", "false" )(Empty)

Arg1 <=> Arg2

Возвращает значение True, если первый аргумент равен второму или если оба аргумента имеют значение NULL. Аргументы могут быть любого, но одинакового типа. Результат является логическим.

Пример.

Case when [Column1] <=> [Column2] then 'match' else 'no match' end

Arg1 <> Arg2 Возвращает значение true, если Arg1 не равен Arg2. Аргументы могут быть любого, но одинакового типа. Результатом является значение типа Boolean. Если любой из аргументов недействителен, результат будет недействительным. Определение допустимых действительных аргументов типа Real см. в операторе <.
Arg1 ~= Arg2 Оператор, который может входить в инструкции IF и CASE. Аргументы могут быть любого типа, но они будут считаться строковыми столбцами. Возвращает значение true, если строка регулярного выражения Arg2 соответствует строке Arg1.

При использовании вычисляемых столбцов некоторые символы, например символ обратной косой черты «\», необходимо экранировать. Дополнительные сведения см. в литературе об элементах языка регулярных выражений, например в библиотеке MSDN.

Примеры.

If( "aab" ~= "a+" , "true", "false" )true

Case when "aba" ~= ".a+$" then "true" else "false" endtrue

And(Arg1, ...) Оператор, который может входить в инструкции IF и CASE. Он имеет два выражения логического значения в качестве аргументов и возвращает значение true, если оба выражения выдают значение true.

Примеры.

If( 1 < 2 and 2 < 3, "true", "false" )

Case when false and true then "true" else "false" end

Not(Arg1) Оператор, который может входить в инструкции IF и CASE. Инвертирует выражение логического значения, данное в качестве аргумента.

Примеры.

If( not 1 < 2, "true", "false" )

Case when not true then "true" else "false" end

Or(Arg1, ...) Оператор, который может входить в инструкции IF и CASE. Он имеет два выражения логического значения в качестве аргументов и возвращает значение true, если одно из выражений выдает значение true.

Примеры.

If( 1 < 2 or 2 < 3, "true", "false" )

Case when false or true then "true" else "false" end

Xor(Arg1, ...) Может входить в инструкции IF и CASE. Он имеет два выражения логического значения в качестве аргументов и возвращает значение true, если только одно из выражений выдает значение true.

Примеры.

If(1 < 2 xor 2 < 3, true, false)

Case when [A]>10 xor [B]>5 then 1 else 0 end