Функции 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 | Возвращает текущее время и дату. |