Приветствую Вас на сайте Info-Comp.ru! В данном материале мы рассмотрим все типы функций, которые существуют в языке T-SQL.
Функция в базе данных – это подпрограмма внутри базы данных, реализующая определенный алгоритм.
В Microsoft SQL Server существуют следующие типы функций.
- Пользовательские функции в T-SQL
- Встроенные функции T-SQL
- Агрегатные функции
- Строковые функции
- Математические функции
- Функции для работы с датой и временем
- Функции преобразования
- Логические функции
- Функции работы с курсорами
- Функции JSON
- Ранжирующие функции
- Аналитические функции
- Функции конфигурации
- Функции метаданных
- Функции безопасности
- Системные функции
- Системные статистические функции
Пользовательские функции в T-SQL
Пользовательские функции (UDF – User Defined Functions) – это функции, которые создаём мы — пользователи, т.е. программисты T-SQL.
В Microsoft SQL Server пользовательские функции реализованы в виде объектов, которые хранят заложенный в функцию алгоритм. Обращаясь к этим объектам, мы, тем самым, запускаем этот алгоритм.
В функциях мы можем обращаться к данным и проводить различные расчеты, при этом мы можем программировать на T-SQL, т.е. использовать переменные, условные конструкции, циклы и даже вызывать другие функции.
В Microsoft SQL Server пользовательские функции делятся на несколько типов.
- Скалярные функции – это функции, которые возвращают одно значение заданного типа данных;
- Табличные функции – это функции, которые возвращают табличные данные, т.е. данные типа TABLE.
Встроенные функции T-SQL
Кроме пользовательских функций, которые создаём мы, в Microsoft SQL Server есть ещё и функции, которые созданы разработчиками СУБД с целью выполнения различных, часто встречающихся операций. Такие функции называется – встроенные функции.
В отличие от пользовательских функций, встроенные функции нельзя изменить и нельзя удалить.
В Microsoft SQL Server существует множество встроенных функций. Все их можно подразделить на группы по назначению.
Заметка! Чем отличаются функции от хранимых процедур в T-SQL.
Агрегатные функции
Агрегатные функции – это функции, которые выполняют определенное вычисление на наборе значений и возвращают одиночное значение.
Агрегатные функции обычно используются в сочетании с группировкой GROUP BY инструкции SELECT.
Все агрегатные функции являются детерминированными. Это означает, что они всегда возвращают одинаковый результат для одинаковых входных параметров.
К агрегатным функциям T-SQL относятся:
- AVG
- SUM
- MAX
- MIN
- COUNT
- COUNT_BIG
- APPROX_COUNT_DISTINCT
- CHECKSUM_AGG
- GROUPING
- GROUPING_ID
- STDEV
- STDEVP
- STRING_AGG
- VAR
- VARP
Строковые функции
Строковые функции – это функции, которые работают со строками, иными словами, с текстовыми значениями в столбце, т.е. выполняют различные операции над текстом.
Практически все встроенные строковые функции (кроме FORMAT) являются детерминированными.
К строковым функциям T-SQL относятся:
- LEN
- LEFT
- RIGHT
- LTRIM
- RTRIM
- TRIM
- LOWER
- UPPER
- SUBSTRING
- CONCAT
- CONCAT_WS
- ASCII
- CHAR
- NCHAR
- CHARINDEX
- REPLACE
- SPACE
- STR
- PATINDEX
- QUOTENAME
- и другие.
Заметка! Конкатенация строк в T-SQL. Способы используемые в Microsoft SQL Server.
Математические функции
Математические функции – это функции, которые позволяют производить различные математические расчеты, как простые, так и сложные.
Все математические функции, кроме RAND, являются детерминированными.
- FLOOR
- CEILING
- ROUND
- ABS
- PI
- POWER
- RAND
- SIGN
- SQRT
- SQUARE
- COS
- ACOS
- SIN
- ASIN
- TAN
- ATAN
- COT
- LOG
- и другие.
Функции для работы с датой и временем
Это функции, которые позволяют работать с датой и временем.
- GETDATE
- DATENAME
- DATEPART
- DAY
- MONTH
- YEAR
- DATEDIFF
- DATEADD
- ISDATE
- и другие.
Заметка! Статистика в Microsoft SQL Server – что это такое и для чего она нужна.
Функции преобразования
Функции преобразования – это функции, которые позволяют преобразовать значение одного типа данных в другой.
- CAST
- TRY_CAST
- CONVERT
- TRY_CONVERT
- PARSE
- TRY_PARSE
Логические функции
Логические функции позволяют выполнять логические операции. Иными словами, это что-то вроде условных конструкций, реализованных в виде функций.
- IIF
- CHOOSE
Заметка! Логическая функция CHOOSE в T-SQL – описание и примеры использования.
Функции работы с курсорами
Такие функции возвращают сведения о курсорах.
Все функции работы с курсорами являются недетерминированными.
- @@CURSOR_ROWS
- @@FETCH_STATUS
- CURSOR_STATUS
Функции JSON
Такие функции предназначены для работы с форматом данных JSON.
- ISJSON
- JSON_VALUE
- JSON_QUERY
- JSON_MODIFY
Заметка! Работа с JSON в Microsoft SQL Server.
Ранжирующие функции
Ранжирующие функции возвращают ранжирующее значение для каждой строки в секции набора данных. В зависимости от используемой функции значения некоторых строк могут совпадать. Ранжирующие функции являются недетерминированными.
- ROW_NUMBER
- RANK
- DENSE_RANK
- NTILE
Аналитические функции
Аналитические функции вычисляют статистическое значение на основе группы строк. Такие функции можно использовать для вычисления скользящих средних, промежуточных итогов, процентных долей, первых или последних строк в группе.
- FIRST_VALUE
- LAST_VALUE
- LAG
- LEAD
- PERCENT_RANK
- PERCENTILE_CONT
- PERCENTILE_DISC
- CUME_DIST
Заметка! Как включить нумерацию строк кода в SQL Server Management Studio.
Функции конфигурации
Функции конфигурации – это функции, которые возвращают сведения о текущих значениях параметров конфигурации.
Все функции конфигурации являются недетерминированными.
- @@DATEFIRST
- @@DBTS
- @@LANGID
- @@LANGUAGE
- @@LOCK_TIMEOUT
- @@MAX_CONNECTIONS
- @@MAX_PRECISION
- @@NESTLEVEL
- @@OPTIONS
- @@REMSERVER
- @@SERVERNAME
- @@SERVICENAME
- @@SPID
- @@TEXTSIZE
- @@VERSION
Функции метаданных
Функции метаданных – это функции, которые возвращают сведения о базах данных и объектах баз данных. Все функции метаданных являются недетерминированными.
- VERSION
- DB_ID
- DB_NAME
- FILE_ID
- FILE_NAME
- APP_NAME
- OBJECT_ID
- OBJECT_NAME
- SCHEMA_ID
- SCHEMA_NAME
- SCOPE_IDENTITY
- TYPE_ID
- TYPE_NAME
- PARSENAME
- SERVERPROPERTY
- и другие.
Заметка! Всем тем, кто только начинает свое знакомство с языком SQL, рекомендую прочитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.
Функции безопасности
Функции безопасности – это функции, которые возвращают данные о пользователях и ролях. Иными словами, такие функции возвращают сведения, необходимые для управления безопасностью.
- IS_MEMBER
- IS_ROLEMEMBER
- IS_SRVROLEMEMBER
- SUSER_SNAME
- SYSTEM_USER
- SUSER_NAME
- USER_ID
- USER_NAME
- SUSER_SID
- SESSION_USER
- CURRENT_USER
- и другие.
Системные функции
Системные функции – это функции, которые выполняют операции над значениями, объектами и параметрами экземпляра Microsoft SQL Server и возвращают сведения о них.
Системные статистические функции
Такие функции возвращают статистические сведения о системе. Все системные статистические функции являются недетерминированными.
- @@CONNECTIONS
- @@PACK_RECEIVED
- @@CPU_BUSY
- @@PACK_SENT
- fn_virtualfilestats
- @@TIMETICKS
- @@IDLE
- @@TOTAL_ERRORS
- @@IO_BUSY
- @@TOTAL_READ
- @@PACKET_ERRORS
- @@TOTAL_WRITE
Заметка! Курсы по T-SQL для начинающих.
На сегодня это все, надеюсь, материал был Вам полезен, пока!