Все функции

Остаток (%)

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

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

Умножение (*)

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

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

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

Сложение и конкатенация (+)

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

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

Тип value_1 Тип value_2 Возвращаемое значение
Число Число Сумма чисел value_1 и value_2.
Дата Число Дата, на value_2 дней большая, чем value_1 (с округлением вниз до целого количества дней).
Дата со временем Число Дата со временем, на value_2 дней большая, чем value_1. Если value_2 содержит дробную часть, то она пересчитыватся в часы (1/24), минуты (1/1440) и секунды (1/86400).
Строка Строка Объединение (конкатенация) строк value_1 и value_2.

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

Вычитание (-)

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

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

Тип value_1 Тип value_2 Возвращаемое значение
Число Число Разность чисел value_1 и value_2.
Дата Число Дата, на value_2 дней меньшая, чем value_1 (с округлением вниз до целого количества дней).
Дата со временем Число Дата со временем, на value_2 дней меньшая, чем value_1. Если value_2 содержит дробную часть, то она пересчитыватся в часы (1/24), минуты (1/1440) и секунды (1/86400).
Дата Дата Разность двух дат в днях
Дата со временем Дата со временем Разность двух дат в днях: целая часть — количество целых дней, дробная — количество часов, минут и секунд как долей целого дня (час — 1/24 и т.д.)

Деление (/)

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

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

Сравнение

Синтаксис:
value_1 = value_2
или
value_1 != value_2
или
value_1 < value_2
или
value_1 <= value_2
или
value_1 > value_2
или
value_1 => value_2

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

Степень (^)

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

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

CASE

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

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

IF

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

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

ABS

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

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

ACOS

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

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

AND

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

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

ASCII

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

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

ASIN

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

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

ATAN

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

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

ATAN2

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

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

AVG

Синтаксис:AVG( value )

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

AVG_IF

Синтаксис:AVG_IF( expression, condition )

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

BETWEEN

Синтаксис:value [ NOT ] BETWEEEN low AND high

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

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

BOOL

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

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

Тип FALSE TRUE
Число 0, 0.0 Все остальные
Строка Пустая строка ("") Все остальные
Логический FALSE TRUE
Дата | Дата со временем - TRUE

CEILING

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

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

CHAR

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

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

CONCAT

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

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

CONTAINS

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

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

COS

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

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

COT

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

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

COUNT

Синтаксис:COUNT( [ value ] )

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

COUNT_IF

Синтаксис:COUNT_IF( condition )

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

COUNTD

Синтаксис:COUNTD( value )

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

См. также COUNTD_APPROX.

COUNTD_APPROX

Синтаксис:COUNTD_APPROX( value )

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

COUNTD_IF

Синтаксис:COUNTD_IF( expression, condition )

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

См. также COUNTD_APPROX.

DATE

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

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

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

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

DATE_PARSE

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

Переводит выражение value в формат даты. В отличие от DATE, поддерживает множество форматов.

DATEADD

Синтаксис:DATEADD( datetime, unit, number )

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

Аргумент number задается целым числом. Может принимать отрицательные значения. Аргумент unit принимает следующие значения:

  • "year" — год,
  • "month" — месяц,
  • "day" — день,
  • "hour" — час,
  • "minute" — минута,
  • "second" — секунда.

DATEPART

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

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

В зависимости от аргумента unit возвращает следующие значения:

  • "year" — номер года (см. YEAR),
  • "month" — номер месяца в году (см. MONTH),
  • "week" — номер недели в году по ISO 8601 (см. WEEK),
  • "dayofweek", "dow" — номер дня недели (см. DAYOFWEEK),
  • "day" — номер дня в месяце (см. DAY),
  • "hour" — номер часа в дне (см. HOUR),
  • "minute" — номер минуты в часе (см. MINUTE),
  • "second" — номер секунды в минуте (см. SECOND).

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

DATETIME

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

Переводит выражение expression в формат даты и времени. При переводе Date в DateTime время определяется, как 00:00:00. Дата должна быть определена в формате YYYY-MM-DDThh:mm:ss или YYYY-MM-DD hh:mm:ss.

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

DATETIME_PARSE

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

Переводит выражение value в формат даты и времени. В отличие от DATETIME, поддерживает множество форматов.

DATETRUNC

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

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

Поддерживаемые значения unit:

  • "second",
  • "minute",
  • "hour",
  • "day",
  • "week",
  • "month",
  • "year".

DAY

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

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

DAYOFWEEK

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

Возвращает день недели в соответствии с ISO 8601.

  • Понедельник — 1;
  • Воскресенье — 7.

Если указан дополнительный параметр firstday, то этот день считается первым в неделе. Допустимые значения:

  • "Monday", "Mon" — понедельник;
  • "Tuesday", "Tue" — вторник;
  • "Wednesday", "Wed" — среда;
  • "Thursday", "Thu" — четверг;
  • "Friday", "Fri" — пятница;
  • "Saturday", "Sat" — суббота;
  • "Sunday", "Sun" — воскресенье.

DEGREES

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

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

DIV

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

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

ENDSWITH

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

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

EXP

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

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

FIND

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

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

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

FLOAT

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

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

Тип Значение
Число Исходное значение
Дата | Дата со временем Unix-время соответствующее дате и времени. Если значение содержит в себе информацию о временной зоне, то она учитывается при вычислении. Если же временная зона неизвестна, то время считается UTC
Строка Число из строки в десятичной записи
Логический TRUE — 1.0, FALSE — 0.0

FLOOR

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

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

GEOCODE

Синтаксис:GEOCODE( address )

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

Результаты выполнения функции кэшируются, поэтому при повторном запросе DataLens не выполнит геокодирование. Время хранения кэша — 30 дней. После 30 дней DataLens автоматически вызовет функцию GEOCODE для преобразования адреса.

GEOPOINT

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

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

GEOPOLYGON

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

Переводит выражение value в формат геополигона.

GREATEST

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

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

См. также LEAST.

В зависимости от указанного типа данных, возвращает:

  • наибольшее число;
  • последнюю строку в алфавитном порядке;
  • позднюю дату;
  • TRUE при выборе из TRUE и FALSE для логического типа.

HOUR

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

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

ICONTAINS

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

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

IENDSWITH

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

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

IFNULL

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

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

IN

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

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

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

INT

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

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

Тип Значение
Целое число Исходное значение
Дробное число Целая часть числа (округление вниз)
Дата | Дата со временем Unix-время соответствующее дате и времени. Если значение содержит в себе информацию о временной зоне, то она учитывается при вычислении. Если же временная зона неизвестна, то время считается UTC
Строка Число из строки в десятичной записи
Логический TRUE — 1, FALSE — 0

IS FALSE

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

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

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

ISNULL

Синтаксис:
ISNULL( expression )
или
expression IS [ NOT ] NULL

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

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

ISTARTSWITH

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

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

IS TRUE

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

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

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

LEAST

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

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

См. также GREATEST.

В зависимости от указанного типа данных, возвращает:

  • наименьшее число;
  • первую строку в алфавитном порядке;
  • раннюю дату;
  • FALSE при выборе из TRUE и FALSE для логическогл типа.

LEFT

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

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

LEN

Синтаксис:LEN( string )

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

LIKE

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

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

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

LN

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

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

LOG

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

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

LOG10

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

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

LOWER

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

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

LTRIM

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

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

MAX

Синтаксис:MAX( value )

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

Если value:

  • число — возвращает наибольшее число,
  • дата — возвращает самую позднюю дату,
  • строка — возвращает последнее значение в алфавитном порядке,

MEDIAN

Синтаксис:MEDIAN( value )

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

MIN

Синтаксис:MIN( value )

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

Если value:

  • число — возвращает наименьшее число,
  • дата — возвращает самую раннюю дату,
  • строка — возвращает первое значение в алфавитном порядке,

MINUTE

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

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

MONTH

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

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

Отрицание (-)

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

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

NOT

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

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

NOW

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

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

  • при прямом подключении функция возвращает серверную дату и время источника;
  • при материализации функция возвращает дату и время по Московскому времени.

OR

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

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

PI

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

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

POWER

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

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

QUANTILE

Синтаксис:QUANTILE( value, quant )

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

QUANTILE_APPROX

Синтаксис:QUANTILE_APPROX( value, quant )

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

RADIANS

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

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

REGEXP_EXTRACT

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

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

REGEXP_EXTRACT_NTH

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

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

REGEXP_MATCH

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

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

REGEXP_REPLACE

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

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

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

REPLACE

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

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

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

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

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

ROUND

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

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

RTRIM

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

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

SECOND

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

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

SIGN

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

Возвращает знак числа number:

  • -1 если число отрицательное;
  • 0 если число равно нулю;
  • 1 если число положительное.

SIN

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

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

SPACE

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

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

SPLIT

Синтаксис:SPLIT( orig_string, delimiter, part_index )

Возвращает подстроку из orig_string, используя символ разделителя delimiter для разделения строки на последовательность частей part_index.

SQRT

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

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

SQUARE

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

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

STARTSWITH

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

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

STDEV

Синтаксис:STDEV( value )

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

STDEVP

Синтаксис:STDEVP( value )

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

STR

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

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

SUBSTR

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

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

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

SUM

Синтаксис:SUM( value )

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

SUM_IF

Синтаксис:SUM_IF( expression, condition )

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

TAN

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

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

TODAY

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

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

  • при прямом подключении функция возвращает серверную дату и время источника;
  • при материализации функция возвращает дату и время по Московскому времени.

TRIM

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

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

UPPER

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

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

UTF8

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

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

VAR

Синтаксис:VAR( value )

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

VARP

Синтаксис:VARP( value )

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

WEEK

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

Возвращает номер недели в соответствии с ISO 8601. Первой считается неделя, которая содержит первый четверг года и 4.01.

YEAR

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

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

ZN

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

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