[Документация Yandex Cloud](../../index.md) > [Yandex DataLens](../index.md) > Вычисляемые поля > Справочник функций > Все функции

# Все функции


## [Остаток (%)](OP_MOD.md)

**Синтаксис:**`number_1 % number_2`

Возвращает остаток от деления первого числа `number_1` на число `number_2`.



## [Умножение (*)](OP_MULT.md)

**Синтаксис:**`value_1 * value_2`

Если оба аргумента — числа, то возвращает результат умножения числа `value_1` на число `value_2`.

Если один из аргументов — `Строка`, а другой — `Целое число`, возвращает строку, повторенную заданное количество раз.



## [Сложение и конкатенация (+)](OP_PLUS.md)

**Синтаксис:**`value_1 + value_2`

Имеет различное поведение в зависимости от типов аргументов. Возможные варианты приведены в таблице:

| Тип `value_1`                                                                   | Тип `value_2`                                                                   | Возвращаемое значение                                                                                                                                                                |
|:--------------------------------------------------------------------------------|:--------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <code>Дробное число &#124; Целое число</code>                                   | <code>Дробное число &#124; Целое число</code>                                   | Сумма чисел `value_1` и `value_2`.                                                                                                                                                   |
| `Дата`                                                                          | <code>Дробное число &#124; Целое число</code>                                   | Дата, на `value_2` дней большая, чем `value_1` (с округлением вниз до целого количества дней).                                                                                       |
| `Дата и время`                                                                  | <code>Дробное число &#124; Целое число</code>                                   | Дата со временем, на `value_2` дней большая, чем `value_1`. Если `value_2` содержит дробную часть, то она пересчитывается в часы (`1/24`),  минуты (`1/1440`) и секунды (`1/86400`). |
| `Строка`                                                                        | `Строка`                                                                        | Объединение (конкатенация) строк `value_1` и `value_2`.                                                                                                                              |
| <code>Массив дробных чисел &#124; Массив целых чисел &#124; Массив строк</code> | <code>Массив дробных чисел &#124; Массив целых чисел &#124; Массив строк</code> | Объединение (конкатенация) массивов `value_1` и `value_2`.                                                                                                                           |

Изменение порядка аргументов не влияет на результат.



## [Вычитание (-)](OP_MINUS.md)

**Синтаксис:**`value_1 - value_2`

Имеет различное поведение в зависимости от типов аргументов. Возможные варианты приведены в таблице:

| Тип `value_1`                                 | Тип `value_2`                                 | Возвращаемое значение                                                                                                                                                                |
|:----------------------------------------------|:----------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <code>Дробное число &#124; Целое число</code> | <code>Дробное число &#124; Целое число</code> | Разность чисел `value_1` и `value_2`.                                                                                                                                                |
| `Дата`                                        | <code>Дробное число &#124; Целое число</code> | Дата, на `value_2` дней меньшая, чем `value_1` (с округлением вниз до целого количества дней).                                                                                       |
| `Дата и время`                                | <code>Дробное число &#124; Целое число</code> | Дата со временем, на `value_2` дней меньшая, чем `value_1`. Если `value_2` содержит дробную часть, то она пересчитывается в часы (`1/24`),  минуты (`1/1440`) и секунды (`1/86400`). |
| `Дата`                                        | `Дата`                                        | Разность двух дат в днях.                                                                                                                                                            |
| `Любой`                                       | `Любой`                                       | Разность двух дат в днях: целая часть — количество целых дней, дробная — количество часов, минут и секунд как долей целого дня (час — `1/24` и т.д.).                                |
| `Дата и время`                                | `Дата и время`                                | Разность двух дат в днях: целая часть — количество целых дней, дробная — количество часов, минут и секунд как долей целого дня (час — `1/24` и т.д.).                                |



## [Деление (/)](OP_DIV.md)

**Синтаксис:**`number_1 / number_2`

Делит число `number_1` на число `number_2`.



## [Сравнение](OP_COMPARISON.md)

**Синтаксис:**<br/>`value_1 = value_2`<br/>или<br/>`value_1 != value_2`<br/>или<br/>`value_1 < value_2`<br/>или<br/>`value_1 <= value_2`<br/>или<br/>`value_1 > value_2`<br/>или<br/>`value_1 >= value_2`

Сравнивают значение `value_1` со значением `value_2`.



## [Степень (^)](OP_POWER.md)

**Синтаксис:**`base ^ power`

Возводит число `base` в степень `power`.



## [CASE](CASE.md)

**Синтаксис:**<br/>`CASE expression
    WHEN value_1 THEN result_1
    [ WHEN value_2 THEN result_2
      ... ]
    ELSE default_result
END`<br/>или<br/>`CASE(
    expression,
    value_1, result_1,
  [ value_2, result_2,
    ... ]
    default_result
)`

Сравнивает выражение `expression` с последовательностью значений `value_1`, `value_2`, ... и возвращает результат для первого совпадения.
Если совпадений не найдено, то возвращает `default_result`.



## [IF](IF.md)

**Синтаксис:**<br/>`IF condition_1
    THEN result_1
[ ELSEIF condition_2
    THEN result_2
  ... ]
ELSE
    default_result
END`<br/>или<br/>`IF(
    condition_1, result_1,
  [ condition_2, result_2,
    ... ]
    default_result
)`

Проверяет последовательно логические выражения `condition_1`, `condition_2`, ... и возвращает соответствующий результат для первого выполнения.
Если все `condition_1`, `condition_2`, ... возвращают `FALSE`, то блок возвращает `default_result`. Проверяемые выражения задаются с помощью логических операторов.



## [ABS](ABS.md)

**Синтаксис:**`ABS( number )`

Возвращает абсолютное значение заданного числа `number`.



## [ACOS](ACOS.md)

**Синтаксис:**`ACOS( number )`

Возвращает выраженный в радианах арккосинус числа `number`.



## [AGO](AGO.md)

**Синтаксис:**<br/>`AGO( measure, date_dimension [ , unit [ , number ] ] )`<br/>или<br/>`AGO( measure, date_dimension [ , unit [ , number ] ]
     [ BEFORE FILTER BY ... ]
     [ IGNORE DIMENSIONS ... ]
   )`

Вычисляет значение показателя `measure` для даты/времени с указанным смещением.
Аргумент `date_dimension` задает измерение, вдоль которого делается смещение.
Аргумент `number` задает размер смещения в единицах аргумента `unit`. Задается целым числом. Может принимать отрицательные значения. Значение по умолчанию равно `1`.
Аргумент `unit` задает единицу измерения для `number`. Принимает следующие значения:
- `"year"` — год;
- `"month"` — месяц;
- `"week"` — неделя;
- `"day"` — день (значение по умолчанию);
- `"hour"` — час;
- `"minute"` — минута;
- `"second"` — секунда.

Возможен вариант использования `AGO( measure, date_dimension, number )`. В этом случае аргумент `unit` принимает значение `"day"`.

См. также [AT_DATE](AT_DATE.md), [LAG](LAG.md).



## [ALL_CONCAT](ALL_CONCAT.md)

**Синтаксис:**<br/>`ALL_CONCAT( expression [ , separator ] )`<br/>или<br/>`ALL_CONCAT( expression [ , separator ]
            [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
            [ BEFORE FILTER BY ... ]
          )`

Возвращает строку, которая содержит все уникальные значения `expression`, разделенные `separator` (по умолчанию разделитель — запятая).



## [AND](AND.md)

**Синтаксис:**`value_1 AND value_2`

Выполняет логическое соединение двух выражений по условию `И`.



## [ANY](ANY.md)

**Синтаксис:**<br/>`ANY( value )`<br/>или<br/>`ANY( value
     [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
     [ BEFORE FILTER BY ... ]
   )`

Возвращает произвольное значение `value` из группы. Это недетерминированная агрегация — результат может различаться от запроса к запросу на одних и тех же входных данных.



## [ARG_MAX](ARG_MAX.md)

**Синтаксис:**<br/>`ARG_MAX( value, expression_to_maximize )`<br/>или<br/>`ARG_MAX( value, expression_to_maximize
         [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
         [ BEFORE FILTER BY ... ]
       )`

Возвращает значение `value`, соответствующее максимальному значению `expression_to_maximize`. Если есть несколько значений `value`, соответствующих максимальному значению `expression_to_maximize`, то возвращает первое попавшееся из них. Это делает функцию недетерминированной.



## [ARG_MIN](ARG_MIN.md)

**Синтаксис:**<br/>`ARG_MIN( value, expression_to_minimize )`<br/>или<br/>`ARG_MIN( value, expression_to_minimize
         [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
         [ BEFORE FILTER BY ... ]
       )`

Возвращает значение `value`, соответствующее минимальному значению `expression_to_minimize`. Если есть несколько значений `value`, соответствующих минимальному значению `expression_to_minimize`, то возвращает первое попавшееся из них. Это делает функцию недетерминированной.



## [ARR_AVG](ARR_AVG.md)

**Синтаксис:**`ARR_AVG( array )`

Возвращает среднее значение элементов в массиве `array`.



## [ARR_DISTINCT](ARR_DISTINCT.md)

**Синтаксис:**`ARR_DISTINCT( array )`

Удаляет повторяющиеся элементы из массива `array`, возвращая новый массив, содержащий только уникальные элементы. Порядок элементов в возвращаемом массиве может не совпадать с порядком в исходном массиве.



## [ARR_INDEX_OF](ARR_INDEX_OF.md)

**Синтаксис:**`ARR_INDEX_OF( array, value )`

Возвращает позицию (индекс) первого вхождения значения `value` в массив `array`. Индексация начинается с 1. Если значение `value` не найдено в массиве, функция возвращает 0.



## [ARR_INTERSECT](ARR_INTERSECT.md)

**Синтаксис:**`ARR_INTERSECT( array_1, array_2, array_3 [ , ... ] )`

Возвращает массив элементов, которые встречаются в каждом из переданных в качестве аргументов массивов. В массиве с результатом работы функции элементы расположены в произвольном порядке. Повторяющиеся элементы добавляются только в одном экземпляре.



## [ARR_MAX](ARR_MAX.md)

**Синтаксис:**`ARR_MAX( array )`

Возвращает значение максимального элемента в массиве `array`.



## [ARR_MIN](ARR_MIN.md)

**Синтаксис:**`ARR_MIN( array )`

Возвращает значение минимального элемента в массиве `array`.



## [ARR_PRODUCT](ARR_PRODUCT.md)

**Синтаксис:**`ARR_PRODUCT( array )`

Возвращает произведение элементов массива `array`.



## [ARR_REMOVE](ARR_REMOVE.md)

**Синтаксис:**`ARR_REMOVE( array, value )`

Удаляет из массива `array` все элементы, равные `value`.



## [ARR_STR](ARR_STR.md)

**Синтаксис:**`ARR_STR( array [ , delimiter [ , null_str ] ] )`

Из элементов массива `array` формирует строку, используя `delimiter` в качестве разделителя (запятая по умолчанию) и `null_str` в качестве строки, подставляемой вместо `NULL` (по умолчанию такие элементы пропускаются и в результат не попадают).

См. также [STR](STR.md)



## [ARR_SUM](ARR_SUM.md)

**Синтаксис:**`ARR_SUM( array )`

Возвращает сумму элементов в массиве `array`.



## [ARRAY](ARRAY.md)

**Синтаксис:**`ARRAY( value_1, value_2, value_3 [ , ... ] )`

Возвращает массив, содержащий переданные элементы.



## [ASCII](ASCII.md)

**Синтаксис:**`ASCII( string )`

Возвращает числовое представление первого символа строки.



## [ASIN](ASIN.md)

**Синтаксис:**`ASIN( number )`

Возвращает выраженный в радианах арксинус числа `number`.



## [AT_DATE](AT_DATE.md)

**Синтаксис:**<br/>`AT_DATE( measure, date_dimension, date_expr )`<br/>или<br/>`AT_DATE( measure, date_dimension, date_expr
         [ BEFORE FILTER BY ... ]
         [ IGNORE DIMENSIONS ... ]
       )`

Вычисляет `measure` для даты/времени, заданных выражением `date_expr`. Позволяет получить показатель на начало или конец периода, или на конкретную дату.
Аргумент `date_dimension` задает измерение, вдоль которого делается смещение.

В качестве аргумента `date_expr` можно использовать:

* конкретную дату;
* функцию получения текущей даты [TODAY](TODAY.md);
* функции для вычисления даты и времени.

См. также [AGO](AGO.md), [LAG](LAG.md).



## [ATAN](ATAN.md)

**Синтаксис:**`ATAN( number )`

Возвращает выраженный в радианах арктангенс числа `number`.



## [ATAN2](ATAN2.md)

**Синтаксис:**`ATAN2( x, y )`

Возвращает выраженный в радианах арктангенс для заданных координат `x` и `y`.



## [AVG](AVG.md)

**Синтаксис:**<br/>`AVG( value )`<br/>или<br/>`AVG( value
     [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
     [ BEFORE FILTER BY ... ]
   )`

Возвращает среднее для всех значений. Работает с числовыми типами данных и с типами `Дата`.



## [AVG (оконная)](AVG_WINDOW.md)

**Синтаксис:**<br/>`AVG( value
     TOTAL | WITHIN ... | AMONG ...
   )`<br/>или<br/>`AVG( value
     TOTAL | WITHIN ... | AMONG ...
     [ BEFORE FILTER BY ... ]
   )`

Возвращает среднее арифметическое значений выражения. Работает только с числовыми типами данных.



## [AVG_IF](AVG_IF.md)

**Синтаксис:**<br/>`AVG_IF( expression, condition )`<br/>или<br/>`AVG_IF( expression, condition
        [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
        [ BEFORE FILTER BY ... ]
      )`

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



## [AVG_IF (оконная)](AVG_IF_WINDOW.md)

**Синтаксис:**<br/>`AVG_IF( expression, condition
        TOTAL | WITHIN ... | AMONG ...
      )`<br/>или<br/>`AVG_IF( expression, condition
        TOTAL | WITHIN ... | AMONG ...
        [ BEFORE FILTER BY ... ]
      )`

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



## [BETWEEN](BETWEEN.md)

**Синтаксис:**`value [ NOT ] BETWEEN low AND high`

Возвращает `TRUE`, если `value` принадлежит диапазону значений с `low` по `high` включительно.

Вариант `value NOT BETWEEN low AND high` возвращает противоположное значение



## [BOLD](BOLD.md)

**Синтаксис:**`BOLD( text )`

Выделяет переданный текст жирным шрифтом.



## [BOOL](BOOL.md)

**Синтаксис:**`BOOL( expression )`

Переводит выражение `expression` в логический тип по следующим правилам:

| Тип                                           | `FALSE`              | `TRUE`        |
|:----------------------------------------------|:---------------------|:--------------|
| <code>Дробное число &#124; Целое число</code> | `0`, `0.0`           | Все остальные |
| `Строка`                                      | Пустая строка (`""`) | Все остальные |
| `Логический`                                  | `FALSE`              | `TRUE`        |
| <code>Дата &#124; Дата и время</code>         | -                    | `TRUE`        |



## [BR](BR.md)

**Синтаксис:**`BR()`

Добавляет перенос строки.



## [CAST_ARR_FLOAT](CAST_ARR_FLOAT.md)

**Синтаксис:**`CAST_ARR_FLOAT( array )`

Приводит массив `array` к массиву дробных значений. Правила преобразования аналогичны функции [FLOAT](FLOAT.md).



## [CAST_ARR_INT](CAST_ARR_INT.md)

**Синтаксис:**`CAST_ARR_INT( array )`

Приводит массив `array` к массиву целых чисел. Правила преобразования аналогичны функции [INT](INT.md).



## [CAST_ARR_STR](CAST_ARR_STR.md)

**Синтаксис:**`CAST_ARR_STR( array )`

Приводит массив `array` к массиву строк. Правила преобразования аналогичны функции [STR](STR.md).



## [CEILING](CEILING.md)

**Синтаксис:**`CEILING( number )`

Округляет значение до ближайшего целого числа в большую сторону.



## [CHAR](CHAR.md)

**Синтаксис:**`CHAR( string )`

Преобразовывает числовое представление символа ASCII в значение.



## [CITYHASH64](CITYHASH64.md)

**Синтаксис:**`CITYHASH64( value )`

Возвращает хеш CityHash64 для `value` в виде целого числа.



## [COLOR](COLOR.md)

**Синтаксис:**`COLOR( text, color )`

Позволяет указать цвет для переданного текста.

Рекомендуем использовать для указания цветов [переменные](https://preview.gravity-ui.com/uikit/iframe.html?args=&id=colors--texts&viewMode=story) из палитры дизайн-системы [Gravity UI](https://gravity-ui.com/). Эти цвета будут хорошо различимы как в светлой, так и в темной теме.

Также цвет можно указать в любом формате представления веб-цвета: HEX, ключевым словом (например, `green`), RGB и т. д. Но в этом случае мы не гарантируем различимость цветов.



## [COMPARE](COMPARE.md)

**Синтаксис:**`COMPARE( left, right, epsilon )`

Возвращает:
* 0, если `left` и `right` отличаются не более чем на `epsilon`.
* -1, если `left` меньше `right` более чем на `epsilon`.
* 1, если `left` больше `right` более чем на `epsilon`.



## [CONCAT](CONCAT.md)

**Синтаксис:**`CONCAT(  [ arg_1 [ , arg_2 [ , arg_3 [ , ... ] ] ] ] )`

Объединяет произвольное количество строк. При использовании нестроковых типов происходит преобразование в строку и объединение.



## [CONTAINS (массивы)](CONTAINS_ARRAY.md)

**Синтаксис:**`CONTAINS( array, value )`

Возвращает `TRUE`, если `array` содержит `value`.



## [CONTAINS (строковая)](CONTAINS.md)

**Синтаксис:**`CONTAINS( string, substring )`

Возвращает `TRUE`, если строка `string` содержит в себе подстроку `substring`. Для регистронезависимой проверки см. [ICONTAINS](ICONTAINS.md).



## [CONTAINS_ALL](CONTAINS_ALL.md)

**Синтаксис:**`CONTAINS_ALL( array_1, array_2 )`

Возвращает `TRUE`, если `array_1` содержит все элементы `array_2`.



## [CONTAINS_ANY](CONTAINS_ANY.md)

**Синтаксис:**`CONTAINS_ANY( array_1, array_2 )`

Возвращает `TRUE`, если `array_1` содержит хотя бы один элемент из `array_2`.



## [CONTAINS_SUBSEQUENCE](CONTAINS_SUBSEQUENCE.md)

**Синтаксис:**`CONTAINS_SUBSEQUENCE( array_1, array_2 )`

Возвращает `TRUE`, если `array_2` является непрерывной подпоследовательностью `array_1`. Другими словами, возвращает `TRUE` исключительно если `array1 = prefix + array2 + suffix`.



## [COS](COS.md)

**Синтаксис:**`COS( number )`

Возвращает косинус числа `number`, заданного в радианах.



## [COT](COT.md)

**Синтаксис:**`COT( number )`

Возвращает котангенс числа `number`, заданного в радианах.



## [COUNT](COUNT.md)

**Синтаксис:**<br/>`COUNT(  [ value ] )`<br/>или<br/>`COUNT(  [ value ]
       [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
       [ BEFORE FILTER BY ... ]
     )`

Возвращает количество элементов в группе.

Функцию можно использовать с константами, например, `COUNT(1)` или `COUNT()`. Если в чарте не используются другие показатели и измерения, результатом такого выражения всегда будет значение `1`. Это происходит из-за того, что в функции не указано ни одного поля, поэтому DataLens в запросе не обращается ни к одной таблице источника.



## [COUNT (оконная)](COUNT_WINDOW.md)

**Синтаксис:**<br/>`COUNT(  [ value ]
       TOTAL | WITHIN ... | AMONG ...
     )`<br/>или<br/>`COUNT(  [ value ]
       TOTAL | WITHIN ... | AMONG ...
       [ BEFORE FILTER BY ... ]
     )`

Возвращает количество элементов в заданном окне.



## [COUNT_IF](COUNT_IF.md)

**Синтаксис:**<br/>`COUNT_IF( condition )`<br/>или<br/>`COUNT_IF( condition
          [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
          [ BEFORE FILTER BY ... ]
        )`

Возвращает количество элементов в группе, которые удовлетворяют условию `condition`.



## [COUNT_IF (оконная)](COUNT_IF_WINDOW.md)

**Синтаксис:**<br/>`COUNT_IF( expression, condition
          TOTAL | WITHIN ... | AMONG ...
        )`<br/>или<br/>`COUNT_IF( expression, condition
          TOTAL | WITHIN ... | AMONG ...
          [ BEFORE FILTER BY ... ]
        )`

Возвращает количество элементов в заданном окне, которые удовлетворяют условию `expression`.



## [COUNT_ITEM](COUNT_ITEM.md)

**Синтаксис:**`COUNT_ITEM( array, value )`

Возвращает количество элементов массива `array`, равных `value`. Тип `value` должен соответствовать типу элементов `array`.



## [COUNTD](COUNTD.md)

**Синтаксис:**<br/>`COUNTD( value )`<br/>или<br/>`COUNTD( value
        [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
        [ BEFORE FILTER BY ... ]
      )`

Возвращает количество уникальных значений в группе.

См. также [COUNTD_APPROX](COUNTD_APPROX.md).



## [COUNTD_APPROX](COUNTD_APPROX.md)

**Синтаксис:**<br/>`COUNTD_APPROX( value )`<br/>или<br/>`COUNTD_APPROX( value
               [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
               [ BEFORE FILTER BY ... ]
             )`

Возвращает приблизительное количество уникальных значений в группе. Работает быстрее функции [COUNTD](COUNTD.md), но не гарантирует точность.



## [COUNTD_IF](COUNTD_IF.md)

**Синтаксис:**<br/>`COUNTD_IF( expression, condition )`<br/>или<br/>`COUNTD_IF( expression, condition
           [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
           [ BEFORE FILTER BY ... ]
         )`

Возвращает количество уникальных значений в группе, которые удовлетворяют условию `condition`.

См. также [COUNTD_APPROX](COUNTD_APPROX.md).



## [DATE](DATE.md)

**Синтаксис:**`DATE( expression [ , timezone ] )`

Переводит выражение `expression` в формат даты.

Дата должна быть определена в формате `YYYY-MM-DD`.

Если `expression` является числом, то при наличии дополнительного параметра `timezone` дата рассчитывается для указанной временной зоны.



## [DATE_PARSE](DATE_PARSE.md)

**Синтаксис:**`DATE_PARSE( value )`

Переводит выражение `value` в формат даты. В отличие от [DATE](DATE.md), поддерживает множество форматов.



## [DATEADD](DATEADD.md)

**Синтаксис:**`DATEADD( datetime [ , unit [ , number ] ] )`

Возвращает дату, полученную в результате добавления `unit` в количестве `number` к указанной дате `datetime`.

Аргумент `number` задается целым числом. Может принимать отрицательные значения.
Аргумент `unit` принимает следующие значения:
- `"year"` — год;
- `"month"` — месяц;
- `"day"` — день;
- `"hour"` — час;
- `"minute"` — минута;
- `"second"` — секунда.



## [DATEPART](DATEPART.md)

**Синтаксис:**`DATEPART( datetime, unit [ , firstday ] )`

Возвращает часть даты в виде целого числа.

В зависимости от аргумента `unit` возвращает следующие значения:
- `"year"` — номер года (см. [YEAR](YEAR.md));
- `"quarter"` — номер квартала года (от `1` до `4`) (см. [QUARTER](QUARTER.md));
- `"month"` — номер месяца в году (см. [MONTH](MONTH.md));
- `"week"` — номер недели в году по [ISO 8601](https://ru.wikipedia.org/wiki/ISO_8601) (см. [WEEK](WEEK.md));
- `"dayofweek"`, `"dow"` — номер дня недели (см. [DAYOFWEEK](DAYOFWEEK.md));
- `"day"` — номер дня в месяце (см. [DAY](DAY.md));
- `"hour"` — номер часа в дне (см. [HOUR](HOUR.md));
- `"minute"` — номер минуты в часе (см. [MINUTE](MINUTE.md));
- `"second"` — номер секунды в минуте (см. [SECOND](SECOND.md)).

Если выбран "`dayofweek`", то дополнительным параметром `firstday` можно задать, какой день недели считать первым — по умолчанию это понедельник. Более подробно об этом параметре смотрите в описании функции [DAYOFWEEK](DAYOFWEEK.md).




## [DATETIME](DATETIME.md)

**Синтаксис:**`DATETIME( expression [ , timezone ] )`

Переводит выражение `expression` в формат даты и времени. При переводе `Date` в `DateTime` время определяется, как `00:00:00`.
Дата должна быть определена в формате `YYYY-MM-DDThh:mm:ss` или `YYYY-MM-DD hh:mm:ss`.
Числовые значения воспринимаются как время в формате [Unix time](https://ru.wikipedia.org/wiki/Unix-время) и равны количеству секунд, прошедших с 00:00:00 1 января 1970 года, за вычетом поправок, сделанных из-за високосных секунд.

При наличии дополнительного параметра `timezone` дата и время рассчитываются для указанной [временной зоны](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). Параметр `timezone` должен быть определен в формате `Region/Data_Zone`.



## [DATETIME_PARSE](DATETIME_PARSE.md)

**Синтаксис:**`DATETIME_PARSE( value )`

Переводит выражение `value` в формат даты и времени. В отличие от [DATETIME](DATETIME.md), поддерживает множество форматов. Обработка выражения происходит на стороне источника ClickHouse®. Подробнее о поддерживаемых форматах  читайте в [документации](https://clickhouse.com/docs/en/sql-reference/functions/type-conversion-functions#parsedatetime32besteffort) ClickHouse®.



## [DATETRUNC](DATETRUNC.md)

**Синтаксис:**`DATETRUNC( datetime, unit [ , number ] )`

Возвращает дату, округленную по аргументу `unit`.

Если задан аргумент `number`, то происходит округление до этого количества временных единиц. Отсутствие аргумента эквивалентно значению `1`.

Поддерживаемые значения `unit`:
- `"second"`;
- `"minute"`;
- `"hour"`;
- `"day"` (при заданном `number` используется номер дня в году);
- `"week"`;
- `"month"`;
- `"quarter"`;
- `"year"`.

При использовании функции с тремя аргументами, она обрабатывается на стороне ClickHouse® функцией [toStartOfInterval](https://clickhouse.com/docs/en/sql-reference/functions/date-time-functions#tostartofinterval). Округление выполняется относительно определенного момента времени в соответствии с приведенной в описании функции таблицей. Например:
```
DATETRUNC(#2018-07-12 11:07:13#, "month", 4) = #2018-05-01 00:00:00#
```

Для аргумента `unit` со значением `month` округление считается от даты `1900-01-01`. Между датами `2018-07-12` и `1900-01-01` прошло 1422 месяца. Если округлить это число до ближайшего числа, которое делится на 4 (аргумент `number`), то получится 1420 месяцев. Таким образом, если к дате `1900-01-01` прибавить 1420 месяцев, то получится значение `2018-05-01`.



## [DAY](DAY.md)

**Синтаксис:**`DAY( datetime )`

Возвращает номер дня в месяце в указанной дате `datetime`.



## [DAYOFWEEK](DAYOFWEEK.md)

**Синтаксис:**`DAYOFWEEK( datetime [ , firstday ] )`

Возвращает день недели в соответствии с [ISO 8601](https://ru.wikipedia.org/wiki/ISO_8601).
- Понедельник — 1;
- Воскресенье — 7.

Если указан дополнительный параметр `firstday`, то этот день считается первым в неделе. Допустимые значения:
- `"Monday"`, `"Mon"` — понедельник;
- `"Tuesday"`, `"Tue"` — вторник;
- `"Wednesday"`, `"Wed"` — среда;
- `"Thursday"`, `"Thu"` — четверг;
- `"Friday"`, `"Fri"` — пятница;
- `"Saturday"`, `"Sat"` — суббота;
- `"Sunday"`, `"Sun"` — воскресенье.




## [DB_CALL_AGG_FLOAT](DB_CALL_AGG_FLOAT.md)

**Синтаксис:**<br/>`DB_CALL_AGG_FLOAT( db_agg_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ] )`<br/>или<br/>`DB_CALL_AGG_FLOAT( db_agg_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ]
                   [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
                   [ BEFORE FILTER BY ... ]
                 )`

Вызывает нативную агрегатную функцию (агрегацию) базы данных по её имени. Нативная функция должна возвращать значение типа `Дробное число`. Функция выполняется как агрегация по сгруппированным строкам.

Первый аргумент `db_agg_function_name` должен быть константной строкой с именем функции базы данных, которую нужно вызвать. Все последующие аргументы передаются в нативную функцию в том же порядке, в котором они записаны в формуле, и могут быть любого типа, включая типы, которые в настоящее время не поддерживаются в DataLens.

Имя функции должно содержать только буквы, цифры, нижние подчеркивания и двоеточия.



## [DB_CALL_AGG_INT](DB_CALL_AGG_INT.md)

**Синтаксис:**<br/>`DB_CALL_AGG_INT( db_agg_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ] )`<br/>или<br/>`DB_CALL_AGG_INT( db_agg_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ]
                 [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
                 [ BEFORE FILTER BY ... ]
               )`

Вызывает нативную агрегатную функцию (агрегацию) базы данных по её имени. Нативная функция должна возвращать значение типа `Целое число`. Функция выполняется как агрегация по сгруппированным строкам.

Первый аргумент `db_agg_function_name` должен быть константной строкой с именем функции базы данных, которую нужно вызвать. Все последующие аргументы передаются в нативную функцию в том же порядке, в котором они записаны в формуле, и могут быть любого типа, включая типы, которые в настоящее время не поддерживаются в DataLens.

Имя функции должно содержать только буквы, цифры, нижние подчеркивания и двоеточия.



## [DB_CALL_AGG_STRING](DB_CALL_AGG_STRING.md)

**Синтаксис:**<br/>`DB_CALL_AGG_STRING( db_agg_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ] )`<br/>или<br/>`DB_CALL_AGG_STRING( db_agg_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ]
                    [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
                    [ BEFORE FILTER BY ... ]
                  )`

Вызывает нативную агрегатную функцию (агрегацию) базы данных по её имени. Нативная функция должна возвращать значение типа `Строка`. Функция выполняется как агрегация по сгруппированным строкам.

Первый аргумент `db_agg_function_name` должен быть константной строкой с именем функции базы данных, которую нужно вызвать. Все последующие аргументы передаются в нативную функцию в том же порядке, в котором они записаны в формуле, и могут быть любого типа, включая типы, которые в настоящее время не поддерживаются в DataLens.

Имя функции должно содержать только буквы, цифры, нижние подчеркивания и двоеточия.



## [DB_CALL_ARRAY_FLOAT](DB_CALL_ARRAY_FLOAT.md)

**Синтаксис:**`DB_CALL_ARRAY_FLOAT( db_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ] )`

Вызывает нативную функцию базы данных по её имени. Нативная функция должна возвращать значение типа `Массив дробных чисел`. Функция выполняется для каждой строки в наборе данных (не агрегатная).

Первый аргумент `db_function_name` должен быть константной строкой с именем функции базы данных, которую нужно вызвать. Все последующие аргументы передаются в нативную функцию в том же порядке, в котором они записаны в формуле, и могут быть любого типа, включая типы, которые в настоящее время не поддерживаются в DataLens.

Имя функции должно содержать только буквы, цифры, нижние подчеркивания и двоеточия.



## [DB_CALL_ARRAY_INT](DB_CALL_ARRAY_INT.md)

**Синтаксис:**`DB_CALL_ARRAY_INT( db_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ] )`

Вызывает нативную функцию базы данных по её имени. Нативная функция должна возвращать значение типа `Массив целых чисел`. Функция выполняется для каждой строки в наборе данных (не агрегатная).

Первый аргумент `db_function_name` должен быть константной строкой с именем функции базы данных, которую нужно вызвать. Все последующие аргументы передаются в нативную функцию в том же порядке, в котором они записаны в формуле, и могут быть любого типа, включая типы, которые в настоящее время не поддерживаются в DataLens.

Имя функции должно содержать только буквы, цифры, нижние подчеркивания и двоеточия.



## [DB_CALL_ARRAY_STRING](DB_CALL_ARRAY_STRING.md)

**Синтаксис:**`DB_CALL_ARRAY_STRING( db_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ] )`

Вызывает нативную функцию базы данных по её имени. Нативная функция должна возвращать значение типа `Массив строк`. Функция выполняется для каждой строки в наборе данных (не агрегатная).

Первый аргумент `db_function_name` должен быть константной строкой с именем функции базы данных, которую нужно вызвать. Все последующие аргументы передаются в нативную функцию в том же порядке, в котором они записаны в формуле, и могут быть любого типа, включая типы, которые в настоящее время не поддерживаются в DataLens.

Имя функции должно содержать только буквы, цифры, нижние подчеркивания и двоеточия.



## [DB_CALL_BOOL](DB_CALL_BOOL.md)

**Синтаксис:**`DB_CALL_BOOL( db_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ] )`

Вызывает нативную функцию базы данных по её имени. Нативная функция должна возвращать значение типа `Логический`. Функция выполняется для каждой строки в наборе данных (не агрегатная).

Первый аргумент `db_function_name` должен быть константной строкой с именем функции базы данных, которую нужно вызвать. Все последующие аргументы передаются в нативную функцию в том же порядке, в котором они записаны в формуле, и могут быть любого типа, включая типы, которые в настоящее время не поддерживаются в DataLens.

Имя функции должно содержать только буквы, цифры, нижние подчеркивания и двоеточия.



## [DB_CALL_FLOAT](DB_CALL_FLOAT.md)

**Синтаксис:**`DB_CALL_FLOAT( db_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ] )`

Вызывает нативную функцию базы данных по её имени. Нативная функция должна возвращать значение типа `Дробное число`. Функция выполняется для каждой строки в наборе данных (не агрегатная).

Первый аргумент `db_function_name` должен быть константной строкой с именем функции базы данных, которую нужно вызвать. Все последующие аргументы передаются в нативную функцию в том же порядке, в котором они записаны в формуле, и могут быть любого типа, включая типы, которые в настоящее время не поддерживаются в DataLens.

Имя функции должно содержать только буквы, цифры, нижние подчеркивания и двоеточия.



## [DB_CALL_INT](DB_CALL_INT.md)

**Синтаксис:**`DB_CALL_INT( db_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ] )`

Вызывает нативную функцию базы данных по её имени. Нативная функция должна возвращать значение типа `Целое число`. Функция выполняется для каждой строки в наборе данных (не агрегатная).

Первый аргумент `db_function_name` должен быть константной строкой с именем функции базы данных, которую нужно вызвать. Все последующие аргументы передаются в нативную функцию в том же порядке, в котором они записаны в формуле, и могут быть любого типа, включая типы, которые в настоящее время не поддерживаются в DataLens.

Имя функции должно содержать только буквы, цифры, нижние подчеркивания и двоеточия.



## [DB_CALL_STRING](DB_CALL_STRING.md)

**Синтаксис:**`DB_CALL_STRING( db_function_name [ , arg_1 [ , arg_2 [ , ... ] ] ] )`

Вызывает нативную функцию базы данных по её имени. Нативная функция должна возвращать значение типа `Строка`. Функция выполняется для каждой строки в наборе данных (не агрегатная).

Первый аргумент `db_function_name` должен быть константной строкой с именем функции базы данных, которую нужно вызвать. Все последующие аргументы передаются в нативную функцию в том же порядке, в котором они записаны в формуле, и могут быть любого типа, включая типы, которые в настоящее время не поддерживаются в DataLens.

Имя функции должно содержать только буквы, цифры, нижние подчеркивания и двоеточия.



## [DB_CAST](DB_CAST.md)

**Синтаксис:**`DB_CAST( expression, native_type [ , param_1 [ , param_2 ] ] )`

Переводит выражение `expression` в указанный нативный тип данных `native_type`.

Поддерживаются следующие типы:

| Источник данных   | Тип данных             | Нативный тип          | Параметры нативного типа     | Комментарий                   |
|:------------------|:-----------------------|:----------------------|:-----------------------------|:------------------------------|
| `ClickHouse`      | `Дата`                 | `Date`                |                              |                               |
| `ClickHouse`      | `Дата`                 | `Date32`              |                              |                               |
| `ClickHouse`      | `Дробное число`        | `Float32`             |                              |                               |
| `ClickHouse`      | `Дробное число`        | `Float64`             |                              |                               |
| `ClickHouse`      | `Дробное число`        | `Decimal`             | `Целое число`, `Целое число` |                               |
| `ClickHouse`      | `Целое число`          | `Int8`                |                              |                               |
| `ClickHouse`      | `Целое число`          | `Int16`               |                              |                               |
| `ClickHouse`      | `Целое число`          | `Int32`               |                              |                               |
| `ClickHouse`      | `Целое число`          | `Int64`               |                              |                               |
| `ClickHouse`      | `Целое число`          | `UInt8`               |                              |                               |
| `ClickHouse`      | `Целое число`          | `UInt16`              |                              |                               |
| `ClickHouse`      | `Целое число`          | `UInt32`              |                              |                               |
| `ClickHouse`      | `Целое число`          | `UInt64`              |                              |                               |
| `ClickHouse`      | `Строка`               | `String`              |                              |                               |
| `PostgreSQL`      | `Массив дробных чисел` | `double precision[]`  |                              |                               |
| `PostgreSQL`      | `Массив дробных чисел` | `real[]`              |                              |                               |
| `PostgreSQL`      | `Массив дробных чисел` | `numeric[]`           | `Целое число`, `Целое число` |                               |
| `PostgreSQL`      | `Массив целых чисел`   | `smallint[]`          |                              |                               |
| `PostgreSQL`      | `Массив целых чисел`   | `integer[]`           |                              |                               |
| `PostgreSQL`      | `Массив целых чисел`   | `bigint[]`            |                              |                               |
| `PostgreSQL`      | `Массив строк`         | `text[]`              |                              |                               |
| `PostgreSQL`      | `Массив строк`         | `character varying[]` |                              |                               |
| `PostgreSQL`      | `Массив строк`         | `varchar[]`           |                              |                               |
| `PostgreSQL`      | `Дробное число`        | `double precision`    |                              |                               |
| `PostgreSQL`      | `Дробное число`        | `real`                |                              |                               |
| `PostgreSQL`      | `Дробное число`        | `numeric`             | `Целое число`, `Целое число` |                               |
| `PostgreSQL`      | `Целое число`          | `smallint`            |                              |                               |
| `PostgreSQL`      | `Целое число`          | `integer`             |                              |                               |
| `PostgreSQL`      | `Целое число`          | `bigint`              |                              |                               |
| `PostgreSQL`      | `Строка`               | `text`                |                              |                               |
| `PostgreSQL`      | `Строка`               | `character`           | `Целое число`                | Алиас: `char`                 |
| `PostgreSQL`      | `Строка`               | `character varying`   | `Целое число`                | Алиас: `varchar`              |
| `PostgreSQL`      | `Строка`               | `char`                | `Целое число`                | Алиас для `character`         |
| `PostgreSQL`      | `Строка`               | `varchar`             | `Целое число`                | Алиас для `character varying` |




## [DEGREES](DEGREES.md)

**Синтаксис:**`DEGREES( radians )`

Преобразует радианы в градусы.



## [DIV](DIV.md)

**Синтаксис:**`DIV( number_1, number_2 )`

Возвращает результат деления `number_1` на `number_2`.
Результат будет округлен до целого числа.



## [DIV_SAFE](DIV_SAFE.md)

**Синтаксис:**`DIV_SAFE( numerator, denominator [ , fallback_value ] )`

Возвращает результат деления `numerator` на `denominator`. В случае деления на ноль возвращает `fallback_value`. Если число `fallback_value` не указано, возвращает `NULL`.
Результат будет округлен до целого числа.



## [ENDSWITH](ENDSWITH.md)

**Синтаксис:**`ENDSWITH( string, substring )`

Возвращает `TRUE`, если строка `string` оканчивается на подстроку `substring`.Для регистронезависимой проверки см. [IENDSWITH](IENDSWITH.md).



## [EXP](EXP.md)

**Синтаксис:**`EXP( number )`

Возвращает результата возведения числа `e` в степень `number`.



## [FDIV_SAFE](FDIV_SAFE.md)

**Синтаксис:**`FDIV_SAFE( numerator, denominator [ , fallback_value ] )`

Возвращает результат деления `numerator` на `denominator`. В случае деления на ноль возвращает `fallback_value`. Если число `fallback_value` не указано, возвращает `NULL`.



## [FIND](FIND.md)

**Синтаксис:**`FIND( string, substring [ , start_index ] )`

Возвращает индекс позиции первого символа подстроки `substring` в строке `string`.

Если указан опциональный параметр `start_index`, то поиск начнется с указанной позиции.



## [FIRST (оконная)](FIRST.md)

**Синтаксис:**<br/>`FIRST( value )`<br/>или<br/>`FIRST( value
       [ TOTAL | WITHIN ... | AMONG ... ]
       [ ORDER BY ... ]
       [ BEFORE FILTER BY ... ]
     )`

Возвращает значение `value` из первой строки заданного окна. См. также [LAST](LAST.md).



## [FLOAT](FLOAT.md)

**Синтаксис:**`FLOAT( expression )`

Переводит выражение `expression` в формат дробного числа по следующим правилам:

| Тип                                           | Значение                                                                                                                                                                                                                                        |
|:----------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <code>Дробное число &#124; Целое число</code> | Исходное значение.                                                                                                                                                                                                                              |
| <code>Дата &#124; Дата и время</code>         | [Unix-время](https://ru.wikipedia.org/wiki/Unix-время) соответствующее дате и времени. Если значение содержит в себе информацию о временной зоне, то она учитывается при вычислении. Если же временная зона неизвестна, то время считается UTC. |
| `Строка`                                      | Число из строки в десятичной записи.                                                                                                                                                                                                            |
| `Логический`                                  | `TRUE` — `1.0`, `FALSE` — `0.0`.                                                                                                                                                                                                                |



## [FLOOR](FLOOR.md)

**Синтаксис:**`FLOOR( number )`

Округляет значение до ближайшего целого числа в меньшую сторону.



## [GEOPOINT](GEOPOINT.md)

**Синтаксис:**`GEOPOINT( value_1 [ , value_2 ] )`

Формирует значение типа геоточка. Принимает на вход строку, либо значение типа "геоточка", либо координаты — широту `value_1` и долготу `value_2`. Если на вход подается одна строка, в ней должен содержаться список из двух чисел, координат (широты и долготы) в JSON-синтаксисе.



## [GEOPOLYGON](GEOPOLYGON.md)

**Синтаксис:**`GEOPOLYGON( value )`

Переводит выражение `value` в формат [геополигона](../dataset/data-types.md#geopolygon). Функция принимает на вход строку вида `[[[lat_1,lon_1], [lat_2,lon_2], ..., [lat_N-1,lon_N-1], [lat_N,lon_N]]]`.



## [GET_ITEM](GET_ITEM.md)

**Синтаксис:**`GET_ITEM( array, index )`

Возвращает элемент с индексом `index` из массива `array`. Индекс должен быть целым числом. Индексы в массиве начинаются с единицы. Возвращает последний элемент из массива, если значение `index` равно `-1`.



## [GREATEST](GREATEST.md)

**Синтаксис:**`GREATEST( value_1, value_2, value_3 [ , ... ] )`

Возвращает наибольшее из значений.

См. также [LEAST](LEAST.md).

В зависимости от указанного типа данных, возвращает:
- наибольшее число;
- последнюю строку в алфавитном порядке;
- позднюю дату;
- `TRUE` при выборе из `TRUE` и `FALSE` для логического типа.



## [HOUR](HOUR.md)

**Синтаксис:**`HOUR( datetime )`

Возвращает номер часа в дне в указанной дате и времени `datetime`. При указании даты без времени возвращает `0`.



## [ICONTAINS](ICONTAINS.md)

**Синтаксис:**`ICONTAINS( string, substring )`

Регистронезависимый вариант [CONTAINS](CONTAINS.md). Возвращает `TRUE`, если строка `string` содержит в себе подстроку `substring`.



## [IENDSWITH](IENDSWITH.md)

**Синтаксис:**`IENDSWITH( string, substring )`

Регистронезависимый вариант [ENDSWITH](ENDSWITH.md). Возвращает `TRUE`, если строка `string` оканчивается на подстроку `substring`.



## [IFNULL](IFNULL.md)

**Синтаксис:**`IFNULL( check_value, alt_value )`

Возвращает `check_value`, если оно не `NULL`. В противном случае возвращает `alt_value`.



## [IMAGE](IMAGE.md)

**Синтаксис:**`IMAGE( src [ , width [ , height [ , alt ] ] ] )`

Позволяет вставить в таблицу изображение, расположенное по адресу `src`. Ширина (`width`) и высота (`height`) изображения указываются в пикселях. Если для одного из размеров указано значение `NULL`, он рассчитывается автоматически пропорционально размеру другой стороны. Если для обоих размеров указано значение `NULL`, изображение вставляется с исходными размерами. В случае проблем с загрузкой изображения функция выводит альтернативный текст `alt`.




Допускается добавление изображений с доменов `yastat.net`, `yastatic.net`, `direct.yandex.ru`, `functions.yandexcloud.net`, `storage.yandexcloud.net` или `storage.yandex.net`. Самый простой способ — загрузить и опубликовать изображение в [Yandex Object Storage](../../storage/quickstart.md) (ознакомьтесь с [правилами тарификации](../../storage/pricing.md#prices-storage) сервиса).







## [IN](IN.md)

**Синтаксис:**`item [ NOT ] IN (<list>)`

Проверяет условие соответствия значения хотя бы одному из значений, перечисленных в `IN(...)`.

Вариант `item NOT IN (<`list`>)` возвращает противоположное значение



## [INT](INT.md)

**Синтаксис:**`INT( expression )`

Переводит выражение `expression` в формат целого числа по следующим правилам:

| Тип                                   | Значение                                                                                                                                                                                                                                        |
|:--------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `Целое число`                         | Исходное значение.                                                                                                                                                                                                                              |
| `Дробное число`                       | Целая часть числа (округление вниз).                                                                                                                                                                                                            |
| <code>Дата &#124; Дата и время</code> | [Unix-время](https://ru.wikipedia.org/wiki/Unix-время) соответствующее дате и времени. Если значение содержит в себе информацию о временной зоне, то она учитывается при вычислении. Если же временная зона неизвестна, то время считается UTC. |
| `Строка`                              | Число из строки в десятичной записи.                                                                                                                                                                                                            |
| `Логический`                          | `TRUE` — `1`, `FALSE` — `0`.                                                                                                                                                                                                                    |



## [INTHASH64](INTHASH64.md)

**Синтаксис:**`INTHASH64( value )`

Возвращает 64-битный хеш для целого числа `value` в виде целого числа.



## [IS FALSE](ISFALSE.md)

**Синтаксис:**`value IS [ NOT ] FALSE`

Проверяет, является ли значение `value` ложным (`FALSE`).

Вариант `value IS NOT FALSE` возвращает противоположное значение.



## [ISNULL](ISNULL.md)

**Синтаксис:**<br/>`ISNULL( expression )`<br/>или<br/>`expression IS [ NOT ] NULL`

Возвращает `TRUE`, если `expression` является `NULL`. В противном случае возвращает `FALSE`.

Вариант `expression IS NOT NULL` возвращает противоположное значение.



## [ISTARTSWITH](ISTARTSWITH.md)

**Синтаксис:**`ISTARTSWITH( string, substring )`

Регистронезависимый вариант [STARTSWITH](STARTSWITH.md). Возвращает `TRUE`, если строка `string` начинается на подстроку `substring`.



## [IS TRUE](ISTRUE.md)

**Синтаксис:**`value IS [ NOT ] TRUE`

Проверяет, является ли значение `value` истинным (`TRUE`).

Вариант `value IS NOT TRUE` возвращает противоположное значение.



## [ITALIC](ITALIC.md)

**Синтаксис:**`ITALIC( text )`

Выделяет переданный текст курсивом.



## [LAG (оконная)](LAG.md)

**Синтаксис:**<br/>`LAG( value [ , offset [ , default ] ] )`<br/>или<br/>`LAG( value [ , offset [ , default ] ]
     [ TOTAL | WITHIN ... | AMONG ... ]
     [ ORDER BY ... ]
     [ BEFORE FILTER BY ... ]
   )`

Возвращает значение `value` из строки со смещением `offset` относительно текущей в рамках заданного окна:
- положительное значение `offset` делает смещение назад;
- отрицательное значение `offset` делает смещение вперед.

По умолчанию `offset` равно `1`.

Если значение отсутствует (`offset` ссылается на строку до первой или после последней), то возвращается значение `default` в качестве результата. Если `default` не задано, то используется `NULL`.

См. также [AGO](AGO.md) в качестве неоконной альтернативы.



## [LAST (оконная)](LAST.md)

**Синтаксис:**<br/>`LAST( value )`<br/>или<br/>`LAST( value
      [ TOTAL | WITHIN ... | AMONG ... ]
      [ ORDER BY ... ]
      [ BEFORE FILTER BY ... ]
    )`

Возвращает значение `value` из последней строки заданного окна. См. также [FIRST](FIRST.md).



## [LEAST](LEAST.md)

**Синтаксис:**`LEAST( value_1, value_2, value_3 [ , ... ] )`

Возвращает наименьшее из значений.

См. также [GREATEST](GREATEST.md).

В зависимости от указанного типа данных, возвращает:
- наименьшее число;
- первую строку в алфавитном порядке;
- раннюю дату;
- `FALSE` при выборе из `TRUE` и `FALSE` для логического типа.



## [LEFT](LEFT.md)

**Синтаксис:**`LEFT( string, number )`

Возвращает строку, которая содержит указанное количество символов `number` с начала строки `string`.



## [LEN (массивы)](LEN_ARRAY.md)

**Синтаксис:**`LEN( value )`

Возвращает количество элементов в массиве `value`.



## [LEN](LEN.md)

**Синтаксис:**`LEN( value )`

Возвращает количество символов в строке или элементов в массиве `value`.



## [LIKE](LIKE.md)

**Синтаксис:**`string_1 [ NOT ] LIKE string_2`

Сравнивает строку `string_1` со шаблоном `string_2` и в случае совпадения возвращает `TRUE`.
В качестве `string_2` можно задать значение или использовать знак `%`, который соответствует строке любой длины.

Вариант `string_1 NOT LIKE` возвращает противоположное значение.

Функция учитывает регистр символов при сравнении значений. Вы можете использовать `LIKE` совместно с функциями [UPPER](UPPER.md) или [LOWER](LOWER.md), чтобы производить сравнение без учета регистра символов.



## [LN](LN.md)

**Синтаксис:**`LN( number )`

Возвращает натуральный логарифм числа `number`. Возвращает `NULL`, если число меньше или равно 0.



## [LOG](LOG.md)

**Синтаксис:**`LOG( value, base )`

Возвращает логарифм числа `value` по основанию числа `base`. Возвращает `NULL`, если число `value` меньше или равно 0.



## [LOG10](LOG10.md)

**Синтаксис:**`LOG10( number )`

Возвращает логарифм числа `number` по основанию 10. Возвращает `NULL`, если число меньше или равно 0.



## [LOWER](LOWER.md)

**Синтаксис:**`LOWER( string )`

Возвращает строку `string` в нижнем регистре.



## [LTRIM](LTRIM.md)

**Синтаксис:**`LTRIM( string )`

Возвращает строку `string` без знаков пробела в начале строки.



## [MARKUP](MARKUP.md)

**Синтаксис:**`MARKUP(  [ arg_1 [ , arg_2 [ , arg_3 [ , ... ] ] ] ] )`

Объединяет размеченный текст. Также может быть использован для конвертации обычных строк в размеченный текст.



## [MAVG (оконная)](MAVG.md)

**Синтаксис:**<br/>`MAVG( value, rows_1 [ , rows_2 ] )`<br/>или<br/>`MAVG( value, rows_1 [ , rows_2 ]
      [ TOTAL | WITHIN ... | AMONG ... ]
      [ ORDER BY ... ]
      [ BEFORE FILTER BY ... ]
    )`

Возвращает скользящее среднее значений по окну записей. Значение определяется порядком сортировки и аргументами:

| `rows_1`      | `rows_2`   | Окно                                                             |
|:--------------|:-----------|:-----------------------------------------------------------------|
| положительное | -          | Текущая запись и `rows_1` предшествующих.                        |
| отрицательное | -          | Текущая запись и -`rows_1` последующих.                          |
| любой знак    | любой знак | `rows_1` предшествующих записей, текущая и `rows_2` последующих. |



Аналогичное поведение у оконных функций [MSUM](MSUM.md), [MCOUNT](MCOUNT.md), [MMIN](MMIN.md), [MMAX](MMAX.md).

См. также [AVG](AVG.md), [RAVG](RAVG.md).



## [MAX](MAX.md)

**Синтаксис:**<br/>`MAX( value )`<br/>или<br/>`MAX( value
     [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
     [ BEFORE FILTER BY ... ]
   )`

Возвращает максимальное значение.

Если `value`:
- число — возвращает наибольшее число;
- дата — возвращает самую позднюю дату;
- строка — возвращает последнее значение в алфавитном порядке.




## [MAX (оконная)](MAX_WINDOW.md)

**Синтаксис:**<br/>`MAX( value
     TOTAL | WITHIN ... | AMONG ...
   )`<br/>или<br/>`MAX( value
     TOTAL | WITHIN ... | AMONG ...
     [ BEFORE FILTER BY ... ]
   )`

Возвращает максимальное значение.

Если `value`:
- число — возвращает наибольшее число;
- дата — возвращает самую позднюю дату;
- строка — возвращает последнее значение в алфавитном порядке.




## [MCOUNT (оконная)](MCOUNT.md)

**Синтаксис:**<br/>`MCOUNT( value, rows_1 [ , rows_2 ] )`<br/>или<br/>`MCOUNT( value, rows_1 [ , rows_2 ]
        [ TOTAL | WITHIN ... | AMONG ... ]
        [ ORDER BY ... ]
        [ BEFORE FILTER BY ... ]
      )`

Возвращает количество значений (не равных `NULL`) по окну записей, которое определяется порядком сортировки и аргументами:

| `rows_1`      | `rows_2`   | Окно                                                             |
|:--------------|:-----------|:-----------------------------------------------------------------|
| положительное | -          | Текущая запись и `rows_1` предшествующих.                        |
| отрицательное | -          | Текущая запись и -`rows_1` последующих.                          |
| любой знак    | любой знак | `rows_1` предшествующих записей, текущая и `rows_2` последующих. |



Аналогичное поведение у оконных функций [MSUM](MSUM.md), [MMIN](MMIN.md), [MMAX](MMAX.md), [MAVG](MAVG.md).

См. также [COUNT](COUNT.md), [RCOUNT](RCOUNT.md).



## [MD5](MD5.md)

**Синтаксис:**`MD5( value )`

Возвращает хеш MD5 для `value` в виде шестнадцатеричной строки.



## [MEDIAN](MEDIAN.md)

**Синтаксис:**<br/>`MEDIAN( value )`<br/>или<br/>`MEDIAN( value
        [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
        [ BEFORE FILTER BY ... ]
      )`

Возвращает [медианное](https://ru.wikipedia.org/wiki/Медиана_(статистика)) значение. При четном количестве элементов возвращает наибольший из соседних элементов в центральной позиции.



## [MIN](MIN.md)

**Синтаксис:**<br/>`MIN( value )`<br/>или<br/>`MIN( value
     [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
     [ BEFORE FILTER BY ... ]
   )`

Возвращает минимальное значение.

Если `value`:
- число — возвращает наименьшее число;
- дата — возвращает самую раннюю дату;
- строка — возвращает первое значение в алфавитном порядке.




## [MIN (оконная)](MIN_WINDOW.md)

**Синтаксис:**<br/>`MIN( value
     TOTAL | WITHIN ... | AMONG ...
   )`<br/>или<br/>`MIN( value
     TOTAL | WITHIN ... | AMONG ...
     [ BEFORE FILTER BY ... ]
   )`

Возвращает минимальное значение.

Если `value`:
- число — возвращает наименьшее число;
- дата — возвращает самую раннюю дату;
- строка — возвращает первое значение в алфавитном порядке.




## [MINUTE](MINUTE.md)

**Синтаксис:**`MINUTE( datetime )`

Возвращает номер минуты в часе в указанной дате `datetime`. При указании даты без времени возвращает 0.



## [MMAX (оконная)](MMAX.md)

**Синтаксис:**<br/>`MMAX( value, rows_1 [ , rows_2 ] )`<br/>или<br/>`MMAX( value, rows_1 [ , rows_2 ]
      [ TOTAL | WITHIN ... | AMONG ... ]
      [ ORDER BY ... ]
      [ BEFORE FILTER BY ... ]
    )`

Возвращает скользящий максимум значений по окну записей. Значение определяется порядком сортировки и аргументами:

| `rows_1`      | `rows_2`   | Окно                                                             |
|:--------------|:-----------|:-----------------------------------------------------------------|
| положительное | -          | Текущая запись и `rows_1` предшествующих.                        |
| отрицательное | -          | Текущая запись и -`rows_1` последующих.                          |
| любой знак    | любой знак | `rows_1` предшествующих записей, текущая и `rows_2` последующих. |



Аналогичное поведение у оконных функций [MSUM](MSUM.md), [MCOUNT](MCOUNT.md), [MMIN](MMIN.md), [MAVG](MAVG.md).

См. также [MAX](MAX.md), [RMAX](RMAX.md).



## [MMIN (оконная)](MMIN.md)

**Синтаксис:**<br/>`MMIN( value, rows_1 [ , rows_2 ] )`<br/>или<br/>`MMIN( value, rows_1 [ , rows_2 ]
      [ TOTAL | WITHIN ... | AMONG ... ]
      [ ORDER BY ... ]
      [ BEFORE FILTER BY ... ]
    )`

Возвращает скользящий минимум значений по окну записей, определяемому порядком сортировки и аргументами:

| `rows_1`      | `rows_2`   | Окно                                                             |
|:--------------|:-----------|:-----------------------------------------------------------------|
| положительное | -          | Текущая запись и `rows_1` предшествующих.                        |
| отрицательное | -          | Текущая запись и -`rows_1` последующих.                          |
| любой знак    | любой знак | `rows_1` предшествующих записей, текущая и `rows_2` последующих. |



Аналогичное поведение у оконных функций [MSUM](MSUM.md), [MCOUNT](MCOUNT.md), [MMAX](MMAX.md), [MAVG](MAVG.md).

См. также [MIN](MIN.md), [RMIN](RMIN.md).



## [MONTH](MONTH.md)

**Синтаксис:**`MONTH( datetime )`

Возвращает номер месяца в году в указанной дате `datetime`.



## [MSUM (оконная)](MSUM.md)

**Синтаксис:**<br/>`MSUM( value, rows_1 [ , rows_2 ] )`<br/>или<br/>`MSUM( value, rows_1 [ , rows_2 ]
      [ TOTAL | WITHIN ... | AMONG ... ]
      [ ORDER BY ... ]
      [ BEFORE FILTER BY ... ]
    )`

Возвращает скользящую сумму значений по окну записей, которое определяется порядком сортировки и аргументами:

| `rows_1`      | `rows_2`   | Окно                                                             |
|:--------------|:-----------|:-----------------------------------------------------------------|
| положительное | -          | Текущая запись и `rows_1` предшествующих.                        |
| отрицательное | -          | Текущая запись и -`rows_1` последующих.                          |
| любой знак    | любой знак | `rows_1` предшествующих записей, текущая и `rows_2` последующих. |



Аналогичное поведение у оконных функций [MCOUNT](MCOUNT.md), [MMIN](MMIN.md), [MMAX](MMAX.md), [MAVG](MAVG.md).

См. также [SUM](SUM.md), [RSUM](RSUM.md).



## [MURMURHASH2_64](MURMURHASH2_64.md)

**Синтаксис:**`MURMURHASH2_64( value )`

Возвращает хеш MurmurHash2 64-битный для `value` в виде целого числа.



## [Отрицание (-)](OP_NEGATION.md)

**Синтаксис:**`-value`

Возвращает число `value` с противоположным знаком.



## [NOT](OP_NOT.md)

**Синтаксис:**`NOT value`

Инвертирует логическое значение.



## [NOW](NOW.md)

**Синтаксис:**`NOW()`

Возвращает текущую дату и время в зависимости от источника данных и типа соединения.



## [OR](OR.md)

**Синтаксис:**`value_1 OR value_2`

Выполняет логическое соединение двух выражений по условию `ИЛИ`.



## [PI](PI.md)

**Синтаксис:**`PI()`

Возвращает число Пи. Точность зависит от источника данных.



## [POWER](POWER.md)

**Синтаксис:**`POWER( base, power )`

Возводит число `base` в степень `power`.



## [QUANTILE](QUANTILE.md)

**Синтаксис:**<br/>`QUANTILE( value, quant )`<br/>или<br/>`QUANTILE( value, quant
          [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
          [ BEFORE FILTER BY ... ]
        )`

Возвращает точный квантиль уровня `quant` (значение от 0 до 1).



## [QUANTILE_APPROX](QUANTILE_APPROX.md)

**Синтаксис:**<br/>`QUANTILE_APPROX( value, quant )`<br/>или<br/>`QUANTILE_APPROX( value, quant
                 [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
                 [ BEFORE FILTER BY ... ]
               )`

Возвращает примерный квантиль уровня `quant` (значение от 0 до 1).



## [QUARTER](QUARTER.md)

**Синтаксис:**`QUARTER( datetime )`

Возвращает номер квартала года (от `1` до `4`) в указанной дате `datetime`.



## [RADIANS](RADIANS.md)

**Синтаксис:**`RADIANS( degrees )`

Преобразует градусы `degrees` в радианы.



## [RANK (оконная)](RANK.md)

**Синтаксис:**<br/>`RANK( value [ , direction ] )`<br/>или<br/>`RANK( value [ , direction ]
      [ TOTAL | WITHIN ... | AMONG ... ]
      [ BEFORE FILTER BY ... ]
    )`

Выполняет ранжирование значений с пропусками: возвращает порядковый номер строки при сортировке по `value`. Строки, которые соответствуют одному и тому же значению `value`, имеют одно и то же значение ранга. Если первые две строки получают ранг `1`, то ранг следующей строки (если значение `value` не совпадает) будет равен `3`. Значение `2` в этом случае пропускается.

Если `direction` равно `"desc"` или не указано, то ранжирование происходит от большего к меньшему, если `"asc"`, то от меньшего к большему. По умолчанию используется `"desc"`.

См. также [RANK_DENSE](RANK_DENSE.md), [RANK_UNIQUE](RANK_UNIQUE.md), [RANK_PERCENTILE](RANK_PERCENTILE.md).



## [RANK_DENSE (оконная)](RANK_DENSE.md)

**Синтаксис:**<br/>`RANK_DENSE( value [ , direction ] )`<br/>или<br/>`RANK_DENSE( value [ , direction ]
            [ TOTAL | WITHIN ... | AMONG ... ]
            [ BEFORE FILTER BY ... ]
          )`

Выполняет ранжирование значений без пропусков: возвращает порядковый номер строки при сортировке по `value`. Строки, которые соответствуют одному и тому же значению `value`, имеют одно и то же значение ранга. Если первые две строки получают ранг `1`, то ранг следующей строки (если значение `value` не совпадает) будет равен `2`. Значения ранга не пропускаются.

Если `direction` равно `"desc"` или не указано, то ранжирование происходит от большего к меньшему, если `"asc"`, то от меньшего к большему. По умолчанию используется `"desc"`.

См. также [RANK](RANK.md), [RANK_DENSE](RANK_DENSE.md), [RANK_PERCENTILE](RANK_PERCENTILE.md).



## [RANK_PERCENTILE (оконная)](RANK_PERCENTILE.md)

**Синтаксис:**<br/>`RANK_PERCENTILE( value [ , direction ] )`<br/>или<br/>`RANK_PERCENTILE( value [ , direction ]
                 [ TOTAL | WITHIN ... | AMONG ... ]
                 [ BEFORE FILTER BY ... ]
               )`

Выполняет относительное ранжирование. Возвращает дробный ранг (от `0` до `1`). Расчитывается как `(RANK(...) - 1) / (количество строк)`.

Если `direction` равно `"desc"` или не указано, то ранжирование происходит от большего к меньшему, если `"asc"`, то от меньшего к большему. По умолчанию используется `"desc"`.

См. также [RANK](RANK.md), [RANK_DENSE](RANK_DENSE.md), [RANK_UNIQUE](RANK_UNIQUE.md).



## [RANK_UNIQUE (оконная)](RANK_UNIQUE.md)

**Синтаксис:**<br/>`RANK_UNIQUE( value [ , direction ] )`<br/>или<br/>`RANK_UNIQUE( value [ , direction ]
             [ TOTAL | WITHIN ... | AMONG ... ]
             [ BEFORE FILTER BY ... ]
           )`

Выполняет уникальное ранжирование. Возвращает порядковый номер строки при сортировке по `value`. Строки, которые соответствуют одному и тому же значению `value`, имеют разные значения ранга. Ни для каких двух строк значения не совпадают. Принимает все значения от `1` до значения, которое равно количеству строк.

Если `direction` равно `"desc"` или не указано, то ранжирование происходит от большего к меньшему, если `"asc"`, то от меньшего к большему. По умолчанию используется `"desc"`.

См. также [RANK](RANK.md), [RANK_DENSE](RANK_DENSE.md), [RANK_PERCENTILE](RANK_PERCENTILE.md).



## [RAVG (оконная)](RAVG.md)

**Синтаксис:**<br/>`RAVG( value [ , direction ] )`<br/>или<br/>`RAVG( value [ , direction ]
      [ TOTAL | WITHIN ... | AMONG ... ]
      [ ORDER BY ... ]
      [ BEFORE FILTER BY ... ]
    )`

Возвращает среднее арифметическое значений в рамках окна записей, определяемого аргументом `direction`:

| `direction`   | Окно                            |
|:--------------|:--------------------------------|
| `"asc"`       | От первой записи до текущей.    |
| `"desc"`      | От текущей записи до последней. |

По умолчанию используется значение `"asc"`.


Аналогичное поведение у оконных функций [RSUM](RSUM.md), [RCOUNT](RCOUNT.md), [RMIN](RMIN.md), [RMAX](RMAX.md).

См. также [AVG](AVG.md), [MAVG](MAVG.md).



## [RCOUNT (оконная)](RCOUNT.md)

**Синтаксис:**<br/>`RCOUNT( value [ , direction ] )`<br/>или<br/>`RCOUNT( value [ , direction ]
        [ TOTAL | WITHIN ... | AMONG ... ]
        [ ORDER BY ... ]
        [ BEFORE FILTER BY ... ]
      )`

Возвращает количество значений в рамках окна записей, определяемого порядком сортировки и значением аргумента `direction`:

| `direction`   | Окно                            |
|:--------------|:--------------------------------|
| `"asc"`       | От первой записи до текущей.    |
| `"desc"`      | От текущей записи до последней. |

По умолчанию используется значение `"asc"`.


Аналогичное поведение у оконных функций [RSUM](RSUM.md), [RMIN](RMIN.md), [RMAX](RMAX.md), [RAVG](RAVG.md).

См. также [COUNT](COUNT.md), [MCOUNT](MCOUNT.md).



## [REGEXP_EXTRACT](REGEXP_EXTRACT.md)

**Синтаксис:**`REGEXP_EXTRACT( string, pattern )`

Возвращает подстроку `string`, которая соответствует регулярному выражению `pattern`.



## [REGEXP_EXTRACT_ALL](REGEXP_EXTRACT_ALL.md)

**Синтаксис:**`REGEXP_EXTRACT_ALL( string, pattern )`

Возвращает все подстроки `string`, которые соответствуют регулярному выражению `pattern`. Для регулярных выражений с подгруппами работает только для первой подгруппы.



## [REGEXP_EXTRACT_NTH](REGEXP_EXTRACT_NTH.md)

**Синтаксис:**`REGEXP_EXTRACT_NTH( string, pattern, match_index )`

Возвращает подстроку `string`, которая соответствует шаблону регулярного выражения `pattern`, начиная с указанного индекса.



## [REGEXP_MATCH](REGEXP_MATCH.md)

**Синтаксис:**`REGEXP_MATCH( string, pattern )`

Возвращает `TRUE`, если в строке `string` есть подстрока, которая соответствует шаблону регулярного выражения `pattern`.



## [REGEXP_REPLACE](REGEXP_REPLACE.md)

**Синтаксис:**`REGEXP_REPLACE( string, pattern, replace_with )`

Ищет подстроку в строке `string` по шаблону регулярного выражения `pattern` и заменяет ее строкой `replace_with`.

Если подстрока не найдена, то строка не будет изменена.



## [REPLACE (массивы)](REPLACE_ARRAY.md)

**Синтаксис:**`REPLACE( array, old, new )`

Заменяет в массиве `array` все элементы, равные `old`, на `new`.



## [REPLACE (строковая)](REPLACE.md)

**Синтаксис:**`REPLACE( string, substring, replace_with )`

Ищет подстроку `substring` в строке `string` и заменяет ее строкой `replace_with`.

Если подстрока не найдена, то строка не будет изменена.



## [RIGHT](RIGHT.md)

**Синтаксис:**`RIGHT( string, number )`

Возвращает строку, которая содержит указанное количество символов `number` с конца строки `string`.



## [RMAX (оконная)](RMAX.md)

**Синтаксис:**<br/>`RMAX( value [ , direction ] )`<br/>или<br/>`RMAX( value [ , direction ]
      [ TOTAL | WITHIN ... | AMONG ... ]
      [ ORDER BY ... ]
      [ BEFORE FILTER BY ... ]
    )`

Возвращает максимальное из значений в рамках окна записей, определяемого порядком сортировки и значением аргумента `direction`:

| `direction`   | Окно                            |
|:--------------|:--------------------------------|
| `"asc"`       | От первой записи до текущей.    |
| `"desc"`      | От текущей записи до последней. |

По умолчанию используется значение `"asc"`.


Аналогичное поведение у оконных функций [RSUM](RSUM.md), [RCOUNT](RCOUNT.md), [RMIN](RMIN.md), [RAVG](RAVG.md).

См. также [MAX](MAX.md), [MMAX](MMAX.md).



## [RMIN (оконная)](RMIN.md)

**Синтаксис:**<br/>`RMIN( value [ , direction ] )`<br/>или<br/>`RMIN( value [ , direction ]
      [ TOTAL | WITHIN ... | AMONG ... ]
      [ ORDER BY ... ]
      [ BEFORE FILTER BY ... ]
    )`

Возвращает минимальное из значений в рамках окна записей, определяемого порядком сортировки и значением аргумента `direction`:

| `direction`   | Окно                            |
|:--------------|:--------------------------------|
| `"asc"`       | От первой записи до текущей.    |
| `"desc"`      | От текущей записи до последней. |

По умолчанию используется значение `"asc"`.


Аналогичное поведение у оконных функций [RSUM](RSUM.md), [RCOUNT](RCOUNT.md), [RMAX](RMAX.md), [RAVG](RAVG.md).

См. также [MIN](MIN.md), [MMIN](MMIN.md).



## [ROUND](ROUND.md)

**Синтаксис:**`ROUND( number [ , precision ] )`

Округляет число `number` до указанного числа знаков `precision` после запятой.
Если число `precision` не указано, то `number` округляется до ближайшего целого.



## [RSUM (оконная)](RSUM.md)

**Синтаксис:**<br/>`RSUM( value [ , direction ] )`<br/>или<br/>`RSUM( value [ , direction ]
      [ TOTAL | WITHIN ... | AMONG ... ]
      [ ORDER BY ... ]
      [ BEFORE FILTER BY ... ]
    )`

Возвращает сумму значений в рамках окна записей, определяемого порядком сортировки и значением аргумента `direction`:

| `direction`   | Окно                            |
|:--------------|:--------------------------------|
| `"asc"`       | От первой записи до текущей.    |
| `"desc"`      | От текущей записи до последней. |

По умолчанию используется значение `"asc"`.


Аналогичное поведение у оконных функций [RCOUNT](RCOUNT.md), [RMIN](RMIN.md), [RMAX](RMAX.md), [RAVG](RAVG.md).

См. также [SUM](SUM.md), [MSUM](MSUM.md).



## [RTRIM](RTRIM.md)

**Синтаксис:**`RTRIM( string )`

Возвращает строку `string` без знаков пробела в конце строки.



## [SECOND](SECOND.md)

**Синтаксис:**`SECOND( datetime )`

Возвращает номер секунды в минуте в указанной дате `datetime`. При указании даты без времени возвращает `0`.



## [SHA1](SHA1.md)

**Синтаксис:**`SHA1( value )`

Возвращает хеш SHA-1 для `value` в виде шестнадцатеричной строки.



## [SHA256](SHA256.md)

**Синтаксис:**`SHA256( value )`

Возвращает хеш SHA-256 для `value` в виде шестнадцатеричной строки.



## [SIGN](SIGN.md)

**Синтаксис:**`SIGN( number )`

Возвращает знак числа `number`:
- `-1` если число отрицательное;
- `0` если число равно нулю;
- `1` если число положительное.



## [SIN](SIN.md)

**Синтаксис:**`SIN( number )`

Возвращает синус числа `number`, заданного в радианах.



## [SIPHASH64](SIPHASH64.md)

**Синтаксис:**`SIPHASH64( value )`

Возвращает хеш SipHash64 для `value` в виде целого числа.



## [SIZE](SIZE.md)

**Синтаксис:**`SIZE( text, size )`

Позволяет указать размер в пикселях для переданного текста.



## [SLICE](SLICE.md)

**Синтаксис:**`SLICE( array, offset, length )`

Возвращает часть массива `array` длины `length`, начиная с индекса `offset`. Индексы в массиве начинаются с единицы.



## [SPACE](SPACE.md)

**Синтаксис:**`SPACE( value )`

Возвращает строку с указанным количеством пробелов.



## [SPLIT](SPLIT.md)

**Синтаксис:**`SPLIT( orig_string [ , delimiter [ , part_index ] ] )`

Разделяет `orig_string` на последовательность подстрок, используя символ разделителя `delimiter`, и возвращает подстроку, порядковый номер которой равен параметру `part_index`. Разделитель по умолчанию — запятая. Если `part_index` отрицательный, отсчет возвращаемой подстроки ведется с конца `orig_string`. Если количество подстрок меньше, чем [абсолютное значение](https://ru.wikipedia.org/wiki/Абсолютная_величина) `part_index`, возвращается пустая строка. Если не передан `part_index`, то возвращается массив подстрок (только для источников `ClickHouse`, `PostgreSQL`).



## [SQRT](SQRT.md)

**Синтаксис:**`SQRT( number )`

Возвращает квадратный корень заданного числа.



## [SQUARE](SQUARE.md)

**Синтаксис:**`SQUARE( number )`

Возвращает число `number`, возведенное в степень 2.



## [STARTSWITH (массивы)](STARTSWITH_ARRAY.md)

**Синтаксис:**`STARTSWITH( array_1, array_2 )`

Возвращает `TRUE`, если значения из массива `array_2` находятся в начале массива `array_1`.



## [STARTSWITH (строковая)](STARTSWITH.md)

**Синтаксис:**`STARTSWITH( string, substring )`

Возвращает `TRUE`, если строка `string` начинается на подстроку `substring`. Для регистронезависимой проверки см. [ISTARTSWITH](ISTARTSWITH.md).



## [STDEV](STDEV.md)

**Синтаксис:**<br/>`STDEV( value )`<br/>или<br/>`STDEV( value
       [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
       [ BEFORE FILTER BY ... ]
     )`

Возвращает статистическое [стандартное отклонение](https://ru.wikipedia.org/wiki/Среднеквадратическое_отклонение) всех значений в выражении на основе выборки из совокупности.



## [STDEVP](STDEVP.md)

**Синтаксис:**<br/>`STDEVP( value )`<br/>или<br/>`STDEVP( value
        [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
        [ BEFORE FILTER BY ... ]
      )`

Возвращает статистическое [стандартное отклонение](https://ru.wikipedia.org/wiki/Среднеквадратическое_отклонение) всех значений в выражении на основе смещенной совокупности. Функция показывает, насколько разбросаны точки данных относительно их среднего значения. Другими словами, стандартное отклонение показывает, как сильно значения в наборе данных отклоняются от среднего значения.



## [STR](STR.md)

**Синтаксис:**`STR( expression )`

Переводит выражение `expression` к типу строки.



## [SUBSTR](SUBSTR.md)

**Синтаксис:**`SUBSTR( string, from_index [ , length ] )`

Возвращает подстроку `string`, начиная с индекса `from_index`. Нумерация начинается с единицы.

Если указан дополнительный аргумент `length`, то будет возвращена подстрока указанной длины.



## [SUM](SUM.md)

**Синтаксис:**<br/>`SUM( value )`<br/>или<br/>`SUM( value
     [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
     [ BEFORE FILTER BY ... ]
   )`

Возвращает сумму всех значений выражения. Работает только с числовыми типами данных.



## [SUM (оконная)](SUM_WINDOW.md)

**Синтаксис:**<br/>`SUM( value
     TOTAL | WITHIN ... | AMONG ...
   )`<br/>или<br/>`SUM( value
     TOTAL | WITHIN ... | AMONG ...
     [ BEFORE FILTER BY ... ]
   )`

Возвращает сумму всех значений выражения. Работает только с числовыми типами данных.



## [SUM_IF](SUM_IF.md)

**Синтаксис:**<br/>`SUM_IF( expression, condition )`<br/>или<br/>`SUM_IF( expression, condition
        [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
        [ BEFORE FILTER BY ... ]
      )`

Возвращает сумму всех значений выражения, которые удовлетворяют условию `condition`. Работает только с числовыми типами данных.



## [SUM_IF (оконная)](SUM_IF_WINDOW.md)

**Синтаксис:**<br/>`SUM_IF( expression, condition
        TOTAL | WITHIN ... | AMONG ...
      )`<br/>или<br/>`SUM_IF( expression, condition
        TOTAL | WITHIN ... | AMONG ...
        [ BEFORE FILTER BY ... ]
      )`

Возвращает сумму всех значений выражения, которые удовлетворяют условию `condition`. Работает только с числовыми типами данных.



## [TAN](TAN.md)

**Синтаксис:**`TAN( number )`

Возвращает тангенс числа `number`, заданного в радианах.



## [TODAY](TODAY.md)

**Синтаксис:**`TODAY()`

Возвращает текущую дату в зависимости от источника данных и типа соединения.



## [TOOLTIP](TOOLTIP.md)

**Синтаксис:**`TOOLTIP( text, tooltip [ , placement ] )`

Добавляет небольшую всплывающую подсказку к тексту или результату выполнения других функций разметки. Аргумент `placement` отвечает за расположение подсказки (`top`, `right`, `bottom`, `left` или `auto`). Значение по умолчанию — `auto`.



## [TOP_CONCAT](TOP_CONCAT.md)

**Синтаксис:**<br/>`TOP_CONCAT( expression, amount [ , separator ] )`<br/>или<br/>`TOP_CONCAT( expression, amount [ , separator ]
            [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
            [ BEFORE FILTER BY ... ]
          )`

Возвращает строку, которая содержит `amount` наиболее часто встречающихся уникальных значений из `expression`, разделенных `separator` (по умолчанию разделитель — запятая).



## [TREE](TREE.md)

**Синтаксис:**`TREE( array )`

Переводит выражение `array` в формат `Дерево строк`. Используется для создания [древовидных иерархий](../dataset/data-types.md#tree-hierarchy).



## [TRIM](TRIM.md)

**Синтаксис:**`TRIM( string )`

Возвращает строку `string` без знаков пробела в начале и конце строки.



## [UNNEST](UNNEST.md)

**Синтаксис:**`UNNEST( array )`

Дублирует исходную строку для каждого элемента массива `array`.



## [UPPER](UPPER.md)

**Синтаксис:**`UPPER( string )`

Возвращает строку `string` в верхнем регистре.



## [URL](URL.md)

**Синтаксис:**`URL( address, text )`

Оборачивает `text` в ссылку на URL `address`. При переходе по ссылке страница открывается в новой вкладке браузера.



## [USER_INFO](USER_INFO.md)

**Синтаксис:**`USER_INFO( user_id, user_info_type )`

По идентификатору пользователя `user_id` возвращает размеченный текст для отображения его имени или email в зависимости от значения второго аргумента `user_info_type`:

* `email` — возвращает email;
* `name` — возвращает имя.

Если пользователь не найден, возвращается оригинальная строка из источника.



## [UTF8](UTF8.md)

**Синтаксис:**`UTF8( string, old_encoding )`

Переводит кодировку строки `string` в `UTF8`.



## [VAR](VAR.md)

**Синтаксис:**<br/>`VAR( value )`<br/>или<br/>`VAR( value
     [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
     [ BEFORE FILTER BY ... ]
   )`

Возвращает статистическую дисперсию всех значений в выражении на основе выборки из совокупности.



## [VARP](VARP.md)

**Синтаксис:**<br/>`VARP( value )`<br/>или<br/>`VARP( value
      [ FIXED ... | INCLUDE ... | EXCLUDE ... ]
      [ BEFORE FILTER BY ... ]
    )`

Возвращает статистическую дисперсию всех значений в выражении по всей совокупности.



## [WEEK](WEEK.md)

**Синтаксис:**`WEEK( value )`

Возвращает номер недели в соответствии с [ISO 8601](https://ru.wikipedia.org/wiki/ISO_8601). Первой считается неделя, которая содержит первый четверг года и 4.01.



## [YEAR](YEAR.md)

**Синтаксис:**`YEAR( datetime )`

Возвращает номер года в указанной дате `datetime`.



## [ZN](ZN.md)

**Синтаксис:**`ZN( expression )`

Возвращает значение выражения `expression`, если оно не `NULL`. В противном случае возвращает 0.