SQL функции: примеры кода
JSON функции
- ISJSON - Проверяет, содержит ли строка допустимый JSON
- JSON_EXTRACT - Возвращает данные из JSON-документа
- JSON_MODIFY - Обновляет значение свойства в строке JSON
- JSON_QUERY - Извлекает объект или массив из строки JSON
- JSON_VALUE - Извлекает скалярное значение из строки JSON
XML функции
- FOR XML - Возвращает результаты запроса в виде XML
- OPENXML - Предоставляет представление в виде набора строк для XML-документа
- XML_EXISTS - (Метод XQuery) Возвращает бит, указывающий, возвращает ли запрос непустую последовательность
- XML_MODIFY - (Метод XQuery) Обновляет содержимое XML-документа
- XML_NODES - (Метод XQuery) Возвращает набор строк XML-узлов из XML-документа
- XML_QUERY - (Метод XQuery) Возвращает фрагмент XML из экземпляра XML
- XML_VALUE - (Метод XQuery) Возвращает значение типа SQL из экземпляра XML
Агрегатные функции
- AVG - Возвращает среднее значение выражения
- CHECKSUM_AGG - Возвращает контрольную сумму значений в группе
- COUNT - Возвращает количество элементов в группе
- GROUPING - Указывает, агрегировано ли указанное выражение столбца в списке GROUP BY
- GROUPING_ID - Вычисляет уровень группировки
- MAX - Возвращает максимальное значение в выражении
- MIN - Возвращает минимальное значение в выражении
- STDEV - Возвращает статистическое стандартное отклонение всех значений в указанном выражении
- SUM - Возвращает сумму всех значений в выражении
- VAR - Возвращает статистическую дисперсию всех значений в указанном выражении
Аналитические функции
- CUME_DIST - Вычисляет кумулятивное распределение значения в группе значений
- FIRST_VALUE - Возвращает первое значение в упорядоченном наборе значений
- LAG - Обращается к данным из предыдущей строки в том же результирующем наборе без самообъединения
- LAST_VALUE - Возвращает последнее значение в упорядоченном наборе значений
- LEAD - Обращается к данным из последующей строки в том же результирующем наборе
- PERCENT_RANK - Вычисляет относительный ранг строки в группе строк
- PERCENTILE_CONT - Вычисляет процентиль на основе непрерывного распределения значений столбца
- PERCENTILE_DISC - Вычисляет определенный процентиль для отсортированных значений в группе
Битовые функции
Весовые функции полнотекстового поиска
- CONTAINSTABLE - Возвращает таблицу с нулем или более строк для столбцов, содержащих точные или нечеткие совпадения
- FREETEXTTABLE - Возвращает таблицу с нулем или более строк для столбцов, содержащих совпадения по смыслу
Геопространственные функции
- STArea - Возвращает общую площадь поверхности экземпляра geography
- STDistance - Возвращает кратчайшее расстояние между точкой в экземпляре geography и точкой в другом экземпляре geography
- STIntersects - Определяет, пересекаются ли два экземпляра geography
- STLength - Возвращает общую длину элементов в экземпляре geography
Даты и времени функции
- CURRENT_TIMESTAMP - Возвращает текущие дату и время
- DATEADD - Добавляет интервал к указанной дате
- DATEDIFF - Возвращает разницу между двумя датами
- DATEPART - Возвращает целое число, представляющую указанную часть даты (datepart) указанной даты
- DAY - Возвращает часть дня из даты
- FORMAT - Возвращает значение, отформатированное указанным форматом
- GETDATE - Возвращает текущую метку времени системы базы данных в виде значения datetime
- MONTH - Возвращает часть месяца из даты
- YEAR - Возвращает часть года из даты
Логические функции
- CHOOSE - Возвращает элемент по указанному индексу из списка значений
- COALESCE - Возвращает первое не NULL выражение среди своих аргументов
- IIF - Возвращает одно из двух значений в зависимости от того, истинно или ложно логическое выражение
- NULLIF - Возвращает значение NULL, если два указанных выражения равны
Математические функции
- ABS - Возвращает абсолютное (положительное) значение числового выражения
- CEILING - Возвращает наименьшее целое число, большее или равное указанному числовому выражению
- EXP - Возвращает экспоненциальное значение указанного выражения float
- FLOOR - Возвращает наибольшее целое число, меньшее или равное указанному числовому выражению
- LOG - Возвращает натуральный логарифм указанного выражения float
- POWER - Возвращает значение указанного выражения в указанной степени
- RAND - Возвращает случайное значение float от 0 до 1
- ROUND - Возвращает числовое значение, округленное до указанной длины или точности
- SQRT - Возвращает квадратный корень указанного значения float
Оконные функции
- DENSE_RANK - Возвращает ранг строк в разделе результирующего набора без пропусков в нумерации
- NTILE - Распределяет строки упорядоченного раздела на указанное количество групп
- RANK - Возвращает ранг каждой строки в разделе результирующего набора
- ROW_NUMBER - Возвращает порядковый номер строки в разделе результирующего набора
Операторы множеств
- EXCEPT - Возвращает любые различные значения из левого запроса, которые не найдены в правом запросе
- INTERSECT - Возвращает любые различные значения, которые возвращаются как левым, так и правым запросом операнда INTERSECT
- UNION - Объединяет результаты двух или более запросов в один результирующий набор
Предикаты
- BETWEEN - Определяет диапазон для проверки
- EXISTS - Определяет подзапрос для проверки существования строк
- IN - Определяет, соответствует ли указанное значение любому значению в подзапросе или списке
- IS NULL - Определяет, является ли указанное выражение NULL
- LIKE - Определяет, соответствует ли конкретная строка указанному шаблону
Сетевые функции
- @@SPID - Возвращает идентификатор сеанса текущего пользовательского процесса
- CONNECTIONPROPERTY - Возвращает сведения об уникальных свойствах подключения для текущего соединения
- HOST_ID - Возвращает идентификационный номер рабочей станции
- HOST_NAME - Возвращает имя рабочей станции
Системные административные функции
- sp_adduser - Добавляет нового пользователя в текущую базу данных
- sp_changedbowner - Изменяет владельца текущей базы данных
- sp_helpdb - Предоставляет сведения об указанной базе данных или всех базах данных
- sp_spaceused - Отображает количество строк, зарезервированное и используемое дисковое пространство для таблицы или базы данных
- sp_who - Предоставляет информацию о текущих пользователях, сеансах и процессах
Системные информационные функции
- @@SERVERNAME - Возвращает имя локального сервера, на котором работает SQL Server
- @@VERSION - Возвращает версию, архитектуру процессора, дату сборки и ОС для SQL Server
- COL_NAME - Возвращает имя столбца базы данных
- DB_NAME - Возвращает имя базы данных
- OBJECT_NAME - Возвращает имя объекта базы данных для объектов в области схемы
Строковые функции
- CHARINDEX - Возвращает начальную позицию указанного выражения в строке
- CONCAT - Возвращает строку, являющуюся результатом объединения двух или более строковых значений
- LEFT - Возвращает левую часть строки с указанным количеством символов
- LEN - Возвращает количество символов указанного строкового выражения, исключая конечные пробелы
- LENGTH - Возвращает длину строки в байтах или символах
- LOWER - Возвращает символьное выражение, в котором символы верхнего регистра преобразованы в нижний
- LTRIM - Возвращает символьное выражение после удаления начальных пробелов
- PATINDEX - Возвращает начальную позицию первого вхождения шаблона в указанном выражении
- REPLACE - Заменяет все вхождения указанного строкового значения другим строковым значением
- RIGHT - Возвращает правую часть строки с указанным количеством символов
- RTRIM - Возвращает строку после удаления всех конечных пробелов
- STRING_AGG - Объединяет значения строковых выражений и помещает значения-разделители между ними
- STRING_SPLIT - Разделяет строку на строки подстрок на основе указанного символа-разделителя
- SUBSTRING - Возвращает часть символьного, двоичного, текстового или image выражения
- TRIM - Удаляет пробелы или другие указанные символы из начала и конца строки
- UPPER - Возвращает символьное выражение, в котором символы нижнего регистра преобразованы в верхний
Функции атомарности меток доступа (LBAC)
- fn_my_permissions - Возвращает список разрешений, фактически предоставленных участнику для защищаемого объекта
Функции безопасности и шифрования
- DECRYPTBYKEY - Расшифровывает данные с помощью симметричного ключа
- ENCRYPTBYKEY - Шифрует данные с помощью симметричного ключа
- HASHBYTES - Возвращает хеш входного значения
- IS_MEMBER - Указывает, является ли текущий пользователь членом указанной группы Windows или роли SQL Server
- IS_SRVROLEMEMBER - Указывает, является ли текущее имя входа членом указанной серверной роли
- SUSER_SNAME - Возвращает имя входа, связанное с идентификационным номером безопасности (SID)
- USER_NAME - Возвращает имя пользователя базы данных по указанному идентификационному номеру
Функции для работы с диаграммами сходства
- SEMANTICKEYPHRASETABLE - Возвращает таблицу ключевых фраз, связанных со столбцами, настроенными для статистического семантического индексирования
- SEMANTICSIMILARITYTABLE - Возвращает таблицу с нулем или более строк для документов, схожих по смыслу
Функции для работы с иерархиями (HierarchyID)
- GETANCESTOR - Возвращает hierarchyid, представляющий n-го предка данного hierarchyid
- GETDESCENDANT - Возвращает дочерний узел родителя
- GETLEVEL - Возвращает целое число, представляющее глубину этого узла в дереве
- GetReparentedValue - Перемещает узел в иерархии в новое место
- ISDESCENDANTOF - Возвращает true, если этот узел является потомком родительского
- ToString - Возвращает строковое представление этого значения hierarchyid
Функции для работы с последовательностями
- CREATE_SEQUENCE - Создает объект последовательности и задает его свойства
- NEXT VALUE FOR - Возвращает следующее значение из указанной последовательности
Функции для работы с пространственными данными
- STAsText - Возвращает представление экземпляра geometry в формате Well-Known Text (WKT) консорциума OGC
- STGeometryN - Возвращает указанную геометрию из GeometryCollection
- STGeomFromText - Создает экземпляр geometry из представления в формате Well-Known Text (WKT) консорциума OGC
- STNumGeometries - Возвращает количество геометрических объектов, составляющих экземпляр geometry
- STSrid - Возвращает идентификатор пространственной привязки (SRID) экземпляра geography
Функции для работы с расширенными свойствами
- fn_listextendedproperty - Возвращает значения расширенных свойств объектов базы данных
- sp_addextendedproperty - Добавляет новое расширенное свойство к объекту базы данных
Функции защиты данных (Data Masking)
- DYNAMIC_DATA_MASKING - Применяет маску к конфиденциальным данным в результатах запроса
- MASKED WITH - Определяет функцию маскирования данных в определении столбца
Функции изменения метаданных
- ALTER AUTHORIZATION - Изменяет владельца защищаемого объекта
- sp_addmessage - Добавляет новое пользовательское сообщение об ошибке в экземпляр SQL Server
- sp_dropmessage - Удаляет пользовательское сообщение об ошибке
Функции манипулирования статистиками
- fn_trace_getinfo - Возвращает сведения об указанной трассировке или всех существующих трассировках
- fn_trace_gettable - Возвращает информацию файла трассировки в табличной форме
- sp_control_plan_guide - Включает, отключает или удаляет структуру плана
- sp_create_plan_guide - Создает структуру плана для связывания указаний запроса или фактических планов запросов с запросами
- sp_updatestats - Обновляет всю статистику в текущей базе данных
- UPDATE STATISTICS - Обновляет статистику оптимизации запросов для таблицы или индексированного представления
Функции настройки и конфигурации
- @@OPTIONS - Возвращает сведения о текущих параметрах SET
- SET SHOWPLAN_XML - Указывает SQL Server не выполнять инструкции Transact-SQL, а возвращать предполагаемый план выполнения в формате XML
- SET STATISTICS IO - Отображает сведения об объеме операций диска, созданных инструкциями Transact-SQL
- SET STATISTICS TIME - Отображает количество миллисекунд, необходимое для синтаксического анализа, компиляции и выполнения каждой инструкции
- SET TRANSACTION ISOLATION LEVEL - Управляет поведением блокировок и управления версиями строк для инструкций Transact-SQL
- sp_configure - Отображает или изменяет глобальные параметры конфигурации для текущего сервера
Функции обработки исключений
- RAISERROR - Формирует сообщение об ошибке и инициирует обработку ошибки
- THROW - Вызывает исключение и передает выполнение блоку CATCH
- XACT_STATE - Возвращает состояние пользовательской транзакции для текущего выполняющегося запроса
Функции полного текстового поиска
Функции потоков данных (Stream)
- STREAM - Не функция. В контексте SQL 'Stream' часто связан с функциями FILESTREAM или потоковой передачи данных, а не с функцией T-SQL.
Функции потокового ввода-вывода
- fn_virtualfilestats - Возвращает статистику ввода-вывода для файлов базы данных
- GET_FILESTREAM_TRANSACTION_CONTEXT - Возвращает контекст транзакции для сеанса
Функции работы с FileStream
- PATHNAME - Возвращает путь к двоичному большому объекту (BLOB) FILESTREAM
Функции работы с большими объектами (LOB)
Функции работы с динамическими масками данных
- @DynamicDataMasking - Не функция, а возможность. Функции для управления обычно являются процедурами (например, sp_add_data_masking).
Функции работы с курсорами
- @@CURSOR_ROWS - Возвращает количество подходящих строк в последнем открытом курсоре подключения
- @@FETCH_STATUS - Возвращает состояние последнего выполненного оператора FETCH для любого курсора, открытого подключением
- CURSOR_STATUS - Позволяет вызывающей стороне хранимой процедуры определить, вернула ли процедура курсор и результирующий набор
Функции работы с метаданными
- COLUMNPROPERTY - Возвращает сведения о столбце или параметре процедуры
- DB_ID - Возвращает идентификационный номер базы данных
- INDEX_COL - Возвращает имя индексированного столбца
- INDEXKEY_PROPERTY - Возвращает сведения о ключе индекса
- INDEXPROPERTY - Возвращает значение указанного свойства индекса или статистики для заданного ID таблицы, имени индекса и имени свойства
- OBJECT_ID - Возвращает идентификационный номер объекта базы данных, имеющего область схемы
- OBJECTPROPERTY - Возвращает сведения об объектах в текущей базе данных
- OBJECTPROPERTYEX - Возвращает сведения об объектах в текущей базе данных (расширенные)
Функции работы с секционированием
- $PARTITION - Возвращает номер секции, в которую будет сопоставлен набор значений столбца секционирования для указанной функции секционирования
- PARTITION - Используется в CREATE PARTITION FUNCTION и ALTER PARTITION FUNCTION для указания граничных значений
Функции работы с транзакциями
- @@TRANCOUNT - Возвращает количество операторов BEGIN TRANSACTION, выполненных в текущем подключении
Функции работы с триггерами
- COLUMNS_UPDATED - Возвращает двоичный битовый шаблон, указывающий, какие столбцы в таблице были вставлены или обновлены
- EVENTDATA - Возвращает сведения о событиях сервера или базы данных (используется внутри DDL-триггеров)
- TRIGGER_NESTLEVEL - Возвращает количество триггеров, сработавших для оператора, вызвавшего срабатывание триггера
- UPDATE - Функция обновления столбца, используемая внутри триггеров INSERT или UPDATE для проверки, был ли столбец вставлен или обновлен
Функции разностного отслеживания изменений (Change Tracking)
- CHANGE_TRACKING_CURRENT_VERSION - Получает номер версии, связанный с последней зафиксированной транзакцией
- CHANGE_TRACKING_GET_CHANGES - Возвращает информацию об отслеживании изменений для таблицы между двумя указанными версиями
- CHANGE_TRACKING_MIN_VALID_VERSION - Возвращает минимальную действительную версию для получения изменений из указанной таблицы
- CHANGETABLE - Возвращает информацию об отслеживании изменений для таблицы
Функции сжатия данных
- COMPRESS - Сжимает входное выражение с использованием алгоритма GZIP
- DECOMPRESS - Распаковывает входное выражение (алгоритм GZIP)
Функции управления системой
- @@ERROR - Возвращает номер ошибки для последнего выполненного оператора Transact-SQL
- @@IDENTITY - Возвращает последнее вставленное значение идентификатора
- @@ROWCOUNT - Возвращает количество строк, обработанных последним оператором
- HAS_PERMS_BY_NAME - Оценивает эффективное разрешение текущего пользователя для защищаемого объекта
- SUSER_ID - Возвращает идентификационный номер входа для имени входа пользователя
- SUSER_NAME - Возвращает имя входа по идентификационному номеру входа
- USER_ID - Возвращает идентификационный номер пользователя базы данных
Функции хэширования
- BINARY_CHECKSUM - Возвращает двоичное значение контрольной суммы, вычисленное для строки таблицы или списка выражений
- CHECKSUM - Возвращает значение контрольной суммы, вычисленное для строки таблицы или списка выражений