Функции в SQL: основы и синтаксис

ФУНКЦИИ В SQL

Функция в SQL - это заранее написанная конструкция, которая принимает на вход значения (аргументы), преобразовывает их и отдает нам результат.

Что важно знать о функциях:

  1. Функция имеет вид: FUNC(arg1, arg2, argN)
  2. Аргументы у функции имеют строгую последовательность, поэтому следите за тем, какие аргументы и в каком порядке вы вкладываете в функцию. 
  3. Функция имеет требования к аргументам. Например, у аргумента должен быть определенный тип данных, иначе будет ошибка.
  4. Какие-то аргументы могут быть обязательными, а какие-то необязательными.

Давайте посмотрим, как на примере реализованы 4 предыдущих пункта.

Рассмотрим функцию SUBSTR(string, start, length). Эта функция позволяет нам обрезать строку с n-элементом c необходимой длиной:

  • string - обязательный параметр, строка, которую обрезаем;
  • start - обязательный параметр, стартовый индекс, может быть как положительным, так и отрицательным числом; если это положительное число, то функция извлекает значение сначала строки; если это отрицательное число, то эта функция извлекает значение из конца строки;
  • length - необязательный параметр. Длина строки после стартового индекса, если аргумент не указан, то возьмется вся строка.

Пример запроса: 

select substr('Alexander', 1, 4)

В результате получим: Alex.

Мы дали на вход аргументы: string - Alexander; start - 1; length - 4. Таким образом, получили, что функция обрезала нам строку, оставив текст с 1 по 4 символ. 

Попробуем не использовать аргумент length, так как он необязательный:

select substr('Alexander', 4)

В результате получим: xander.

В данном случае у нас string - Alexander; start - 4 .Функция обрезала нам строку Alexander, оставив все символы с 4.