Функции Transact-SQL

 

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

 

 

Таблица 4.5 - Агрегатные функции

Функция Действие
AVG Возвращает среднее арифметическое значение указанного столбца таблицы
COUNT Возвращает число строк таблицы, в которых значение заданного столбца не равно значению NULL. Если параметром функции является звездочка, то подсчет ведется по всем строкам таблицы.
MAX Возвращает максимальное значение в столбце
MIN Возвращает минимальное значение в столбце
SUM Возвращает сумму значений заданного столбца

 

Следует отметить, что все эти функции обрабатывают только те строки, которые удовлетворяют заданному критерию отбора.

Строковые функции обычно используются с данными типа char, varchar, binary и text.

 

Таблица 4.6 - Строковые функции

Функция Результат
ASCII(строка) Возвращает ASCII-код первого символа строки.
CHAR(целое число) Преобразует целое число в символ.
CHARINDEX(символьное выражение, строка) Возвращает номер позиции, с которой начинается символьное выражение в строке. Если заданное символьное выражение в строке отсутствует, то возвращается 0.
DIFFERENCE(строка, строка) Выясняет степень схожести строк, возвращая значение от 0 до 4. Число 4 означает полное совпадение строк.
LOWER(строка) Переводит символы строки в нижний регистр.
LTRIM(строка) Удаляет пробелы в начале строки.
RATINDEX(шаблон, строка) Возвращает номер позиции первого вхождения шаблона в строку. Шаблон должен быть заключен в знаки % и в нем допустимы другие символы маски.
REPLICATE(строка, целое число) Повторяет строку указанное число раз.
REVERSE(строка) Возвращает строку «задом наперед».
RIGHT(строка, целое число) Возвращает часть строки, начиная с указанной позиции.
RTRIM(строка) Удаляет пробелы в конце строки.
SOUNDEX(строка, строка) Возвращает код из четырех цифр, который в дальнейшем используется при сравнении двух строк с помощью функции DIFFERENCE.
SPACE(целое число) Возвращает строку из указанного числа пробелов. Если указано отрицательное число, то возвращается пустая строка.
STR(число, число символов, количество десятичных знаков) Преобразует число в строку символов.
STUFF(строка_1, начальная позиция, длина, строка_2) Удаляет из первой строки подстроку, которая определяется начальной позицией и длиной, и вставляет на это место вторую строку.
SUBSTRING(строка, начальная позиция, длина) Возвращает часть строки, указанной длины, от начальной позиции.
UPPER(строка) Переводит символы из нижнего регистра в верхний.

 

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

Таблица 4.7 - Математические функции

Функция Типы аргументов Результат
ABS Число Абсолютное значение.
ACOS, ASIN, ATAN Число с плавающей запятой Обратные косинус, синус и тангенс. Возвращает угол в радианах.
ATAN2 Число_1, число_2 Возвращает угол в радианах, обратный тангенс которого равен частному от деления числа_1 на число_2.
COS, SIN, COT, TAN Число с плавающей запятой, задающее угол в радианах Косинус, синус, котангенс и тангенс угла.
CEILING Число Наименьшее целое, которое больше или равно указанному аргументу.
DEGREES Число Преобразует угол из радиан в градусы.
EXP Число с плавающей запятой Экспонента от аргумента.
FLOOR Число Наибольшее целое, которое меньше или равно указанному аргументу.
LOG Число с плавающей запятой Натуральный логарифм аргумента.
LOG10 Число с плавающей запятой Десятичный логарифм аргумента.
PI - Возвращает константу 3.141592653 (число p)
POWER Число, y (число) Возвращает аргумент в степени y.
RADIANS Число Преобразует угол из градусов в радианы.
RAND Целое число. Аргумент необязателен. Возвращает случайное число с плавающей запятой в диапазоне от 0 до 1. Аргумент может использоваться в качестве начального значения.
ROUND Число, количество цифр Число округляется до указанного количества цифр после запятой.
SIGN Число Возвращает знак числа.
SQRT Число с плавающей запятой Квадратный корень от числа.

 

Следует отметить, что в качестве аргумента функций, приведенных в таблице 4.7, можно использовать все допустимые выражения, результатом вычисления которых будет число указанного выше типа.

 

Функции для работы с датами. Ниже приведены функции для работы со столбцами типа datetime.

 

Таблица 4.8 - Функции для работы с датами

Функция Тип аргумента Результат
YEAR Дата Возвращает год в виде целого числа
MONTH Дата Возвращает номер месяца
DAY Дата Возвращает номер дня
GETDATE   Возвращает текущее время и дату.