Functions (Transact-SQL)

SQL Server provides many built-in functions and also lets you create user-defined functions. The categories of built-in functions are listed on this page. For more information about user-defined functions, see User-Defined Functions (Database Engine).

Types of Functions

Function

Description

Rowset Functions

Return an object that can be used like table references in an SQL statement.

Aggregate Functions

Operate on a collection of values but return a single, summarizing value.

Ranking Functions

Return a ranking value for each row in a partition.

Scalar Functions (Described below)

Operate on a single value and then return a single value. Scalar functions can be used wherever an expression is valid.

Scalar Functions

Function category

Description

Configuration Functions

Return information about the current configuration.

Cursor Functions

Return information about cursors.

Date and Time Data Types and Functions

Perform operations on a date and time input values and return string, numeric, or date and time values.

Mathematical Functions

Perform calculations based on input values provided as parameters to the functions, and return numeric values.

Metadata Functions

Return information about the database and database objects.

Security Functions

Return information about users and roles.

String Functions

Perform operations on a string (char or varchar) input value and return a string or numeric value.

System Functions

Perform operations and return information about values, objects, and settings in an instance of SQL Server.

System Statistical Functions

Return statistical information about the system.

Text and Image Functions

Perform operations on text or image input values or columns, and return information about the value.

Function Determinism

SQL Server built-in functions are either deterministic or nondeterministic. Functions are deterministic when they always return the same result any time they are called by using a specific set of input values. Functions are nondeterministic when they could return different results every time they are called, even with the same specific set of input values. For more information, see Deterministic and Nondeterministic Functions 

Function Collation

Functions that take a character string input and return a character string output use the collation of the input string for the output.

Functions that take non-character inputs and return a character string use the default collation of the current database for the output.

Functions that take multiple character string inputs and return a character string use the rules of collation precedence to set the collation of the output string. For more information, see Collation Precedence (Transact-SQL).