よく使われる SQL Server のビルトインのファンクション
よく使われる SQL Server のビルトインのファンクション
T-SQL では、たくさんの便利なビルトインのファンクションが用意されています。
代表的な関数の種類には、集計関数、順位付け関数、行セット関数、スカラー関数、などがあります。
集計関数は、合計値、平均値、最小値、最大値、カウントなどを集計し、ひとつの値を返すファンクションです。 「 SQL の基本 」 の 「 T-SQL の集計関数を使う 1 」 と 「 T-SQL の集計関数を使う 2 」 で、よく使う集計関数について説明しました。
順位付け関数は、パティション内の各行の順位を返します。 パティションを指定して番号をふったり、普通にランキングする他にも、グループ分けしたりすることも可能です。
行セット関数は、クエリーで使えるテーブル参照ようなオブジェクトを返すファンクションです。 他のデータベースサーバからデータを取得する時などに使えます。
スカラー関数は、ひとつの値を操作して、ひとつの値を返すようなファンクションで、クエリー内で条件式を使用できるすべての箇所で使用できます。 文字列関数や日付と時刻用の関数、現在の config 値を返す関数などもスカラー関数です。
他にも関数の種類はありますし、それぞれの種類の中にたくさんの組み込み関数があるので、ここでは私が開発していてよく使うもの中心にご紹介させていただきます。
SQL Server のバージョンによってサポートされていないファンクションもありますが、基本は SQL Server 2016 で使えるものをご紹介します。 以前のバージョンで使えない場合はなるべく明記するようにします。
- よく使われる文字列関数 1 - LEFT, RIGHT, SUBSTRING
- よく使われる文字列関数 2 - LTRIM, RTRIM, UPPER, LOWER, LEN
- よく使われる文字列関数 3 - REPLACE, CHARINDEX, CHAR
- よく使われる日付と時刻の関数 1 - GETDATE, YEAR, MONTH, DAY, DATEPART
- よく使われる日付と時刻の関数 2 - DATEADD, DATEDIFF, ISDATE
- よく使われる順位付け関数 1 - ROW_NUMBER
- よく使われる順位付け関数 2 - RANK, DENSE_RANK
- よく使われる順位付け関数 3 - NTILE
- 知っておくと便利な関数 - NULLIF
- 知っておくと便利な関数 - STUFF