Microsoft SQL データベース関数とはWhat are the SQL database functions?

適用対象: ○SQL Server (2008 以降) ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

SQL データベースで使うことができる組み込み関数のカテゴリについて説明します。Learn about the categories of built-in functions you can use with SQL databases. 組み込み関数を使うか、独自のユーザー定義関数を作成することができます。You can use the built-in functions or create your own user-defined functions.

集計関数Aggregate functions

集計関数は、値の集まりに対して計算を実行し、1 つの値を返します。Aggregate functions perform a calculation on a set of values and return a single value. SELECT ステートメントの選択リストまたは HAVING 句で使うことができます。They are allowed in the select list or the HAVING clause of a SELECT statement. 集計を GROUP BY 句と組み合わせて使って、行のカテゴリに対する集計を計算できます。You can use an aggregation in combination with the GROUP BY clause to calculate the aggregation on categories of rows. 特定の値範囲の集計を計算するには、OVER 句を使います。Use the OVER clause to calculate the aggregation on a specific range of value. GROUPING または GROUPING_ID の集計の後に OVER 句を使うことはできません。The OVER clause cannot follow the GROUPING or GROUPING_ID aggregations.

すべての集計関数は決定論的であり、同じ入力値に対して実行すると常に同じ値を返します。All aggregate functions are deterministic, which means they always return the same value when they run on the same input values. 詳しくは、「決定的関数と非決定的関数」をご覧ください。For more information, see Deterministic and Nondeterministic Functions.|

分析関数Analytic functions

分析関数によって、行のグループに基づいた集計値が計算されます。Analytic functions compute an aggregate value based on a group of rows. ただし集計関数とは異なり、分析関数は各グループについて複数の行を返すことがあります。However, unlike aggregate functions, analytic functions can return multiple rows for each group. 分析関数を使うと、グループ内の移動平均、集計途中経過、パーセンテージまたは上位 N 位の結果を計算できます。You can use analytic functions to compute moving averages, running totals, percentages, or top-N results within a group.

順位付け関数Ranking functions

パーティションの各行の順位値を返します。Ranking functions return a ranking value for each row in a partition. 使用する関数によっては、いくつかの行で、他の行と同じ値を受け取る場合があります。Depending on the function that is used, some rows might receive the same value as other rows. 順位付け関数は非決定的です。Ranking functions are nondeterministic.

行セット関数Rowset functions

行セット関数は、SQL ステートメントの中でテーブル参照のように使用できるオブジェクトを返します。Rowset functions Return an object that can be used like table references in an SQL statement.

スカラー関数Scalar functions

1 つの値に対して操作を行い、1 つの値を返します。Operate on a single value and then return a single value. スカラー関数は、式を使用できるすべての場所で使用できます。Scalar functions can be used wherever an expression is valid.

スカラー関数のカテゴリCategories of scalar functions

関数のカテゴリFunction category [説明]Description
構成関数Configuration Functions 現在の構成についての情報を返します。Return information about the current configuration.
変換関数Conversion Functions データ型のキャストと変換をサポートします。Support data type casting and converting.
カーソル関数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.
JSON 関数JSON Functions クエリを検証します。 または、JSON データを変更します。Validate, query, or change JSON data.
論理関数Logical Functions 論理演算を実行します。Perform logical operations.
数学関数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 文字列型 (char または varchar) の入力値に対して操作を実行し、文字列値または数値を返します。Perform operations on a string (char or varchar) input value and return a string or numeric value.
システム関数System Functions 値、オブジェクト、および SQL ServerSQL Server のインスタンス内の設定値に対して操作を実行し、それについての情報を返します。Perform operations and return information about values, objects, and settings in an instance of SQL ServerSQL 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 ServerSQL 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. 詳細については、「照合順序の優先順位 (Transact-SQL)」を参照してください。For more information, see Collation Precedence (Transact-SQL).

参照See Also

CREATE FUNCTION (Transact-SQL) CREATE FUNCTION (Transact-SQL)
決定的関数と非決定的関数 Deterministic and Nondeterministic Functions
ストアド プロシージャの使用 (MDX)Using Stored Procedures (MDX)