適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL 分析エンドポイント
Microsoft Fabric のウェアハウス
Microsoft Fabric の SQL データベース
SQL データベースで使うことができる組み込み関数のカテゴリについて説明します。 組み込み関数を使うか、独自のユーザー定義関数を作成することができます。
集計関数
集計関数は、値の集まりに対して計算を実行し、1 つの値を返します。 これらは、HAVING ステートメントの選択リストまたはSELECT句で許可されます。 集計を GROUP BY 句と組み合わせて使用して、行のカテゴリの集計を計算できます。
OVER句を使用して、特定の値範囲の集計を計算します。
OVER句は、GROUPINGまたはGROUPING_ID集計に従うことはできません。
すべての集計関数は決定論的であり、同じ入力値に対して実行すると常に同じ値を返します。 詳細については、「 決定論的関数と非決定的関数」を参照してください。
分析関数
分析関数によって、行のグループに基づいた集計値が計算されます。 ただし集計関数とは異なり、分析関数は各グループについて複数の行を返すことがあります。 分析関数を使うと、グループ内の移動平均、集計途中経過、パーセンテージまたは上位 N 位の結果を計算できます。
ビット操作関数
対象: SQL Server 2022 (16.x) 以降のバージョン、Azure SQL Managed Instance、Azure SQL Database、Microsoft Fabric のSQL database
ビット操作関数を使うと、個々のビットよりも効率的にデータを処理および格納することができます。 詳細については、「ビット操作関数」を参照してください。
構成関数
構成関数は、現在の構成オプション設定に関する情報 ( @@SERVERNAME (Transact-SQL) など) を返すスカラー関数です。
構成関数はすべて非決定的な方法で動作します。 つまり、これらの関数は、同じ一連の入力値を使用しても、呼び出されるたびに常に同じ結果を返すわけではありません。 関数決定主義の詳細については、「 決定論的関数と非決定的関数」を参照してください。
順位付け関数
順位付け関数により、パーティションの各行の順位値が返されます。 使用する関数によっては、いくつかの行で、他の行と同じ値を受け取る場合があります。 順位付け関数は非決定的です。
行セット関数
行セット関数 SQL ステートメントのテーブル参照と同様に使用できるオブジェクトを返します。
スカラー関数
1 つの値に対して操作を行い、1 つの値を返します。 スカラー関数は、式を使用できるすべての場所で使用できます。
スカラー関数のカテゴリ
| 関数のカテゴリ | 説明 |
|---|---|
| 構成関数 | 現在の構成についての情報を返します。 |
| 変換関数 | データ型のキャストと変換をサポートします。 |
| カーソル関数 | カーソルについての情報を返します。 |
| 日付と時刻のデータ型および関数 | 日付時刻型の入力値に対して操作を実行し、文字列値、数値、または日付時刻値を返します。 |
| Graph 関数 | グラフ ノードとエッジ ID の文字表現との間で双方向の変換操作を実行します。 |
| JSON 関数 | JSON データを検証、クエリ、または変更します。 |
| 論理関数 | 論理演算を実行します。 |
| 数学関数 | パラメーターとして関数に渡された入力値に基づいて計算を実行し、数値を返します。 |
| メタデータ関数 | データベースおよびデータベース オブジェクトについての情報を返します。 |
| セキュリティ関数 | ユーザーとロールについての情報を返します。 |
| 文字列関数 | 文字列型 (char または varchar) の入力値に対して操作を実行し、文字列値または数値を返します。 |
| システム関数 | 値、オブジェクト、および SQL Server のインスタンス内の設定値に対して操作を実行し、それについての情報を返します。 |
| システム統計関数 | システムについての統計情報を返します。 |
| テキストとイメージ関数 | テキスト入力値、イメージ入力値、または列に対して操作を実行し、値についての情報を返します。 |
文字列関数
スカラー関数は、文字列入力値に対して操作を実行し、文字列または数値 ( ASCII (Transact-SQL) など) を返します。
FORMATを除くすべての組み込み文字列関数は決定論的です。 つまり、特定の入力値のセットで呼び出されるたびに、同じ値が返されます。 関数決定主義の詳細については、「 決定論的関数と非決定的関数」を参照してください。
文字列関数に文字列値以外の引数が渡されると、入力型は暗黙的にテキスト データ型に変換されます。 詳細については、「 データ型変換 (データベース エンジン)」を参照してください。
関数の決定性
SQL Server の組み込み関数は、決定的または非決定的のいずれかです。 特定の一連の入力値を使用して呼び出されたときに必ず同じ結果を返す場合、その関数は決定的です。 同じ特定の一連の入力値を使用しても呼び出すたびに異なる結果を返す場合、その関数は非決定的です。 詳細については、「決定論的関数と非決定的関数」を参照してください。
関数の照合順序
入力に文字列を使用し、出力に文字列を返す関数の場合、入力文字列の照合順序が出力に適用されます。
入力に文字列以外を使用し、文字列を返す関数の場合は、現在のデータベースの既定の照合順序が出力に適用されます。
入力に複数の文字列を使用し、単一の文字列を返す関数の場合は、照合順序の優先順位ルールによって出力文字列の照合順序が設定されます。 詳細については、「照合順序の 優先順位」を参照してください。
制限事項
関数の種類とプラットフォームの制限については、 CREATE FUNCTION (Transact-SQL) を参照してください。