SQL関数とは、データベースの問い合わせ言語であるSQLから利用できる関数です。この記事では、OracleデータベースにおけるSQL関数の使い方を紹介しています。
グループ関数
単一行に基づく結果行を戻すのではなく、行のグループに基づく単一結果行を戻す。
日付関数
端数処理関数
数値や日付の端数を処理するには、次の関数を使う。
SQL関数 | 説明 |
CEIL | 指定した数値以上の最小の整数を返す。 |
FLOOR | 指定した数値以下の最大の整数を返す。 |
ROUND | 数値や日付を丸めた値を返す。 |
TRUNC | 数値や日付を切り捨てた値を返す。 |
文字関数
名前 |
説明 |
ASCII(char)
|
ASCII値が返る。 |
CHR(n)
|
指定した文字コードの文字が返される。 |
CONCAT(char1, char2)
|
char1とchar2が連結された文字列が返る。 |
INITCAP(char)
|
各単語の先頭を大文字、残りの文字を小文字にした文字列が返る。 |
INSTR |
文字列を検索して部分文字列が表れた位置を戻す。 |
INSTRB(string, substring [, position [, occurrence]])
|
文字列を検索して部分文字列が表れた位置を戻す(バイト単位)。 |
LENGTH |
文字列の文字数を返す。 |
LENGTHB |
文字列のバイト数を返す。 |
LOWER |
文字列を小文字に変換して戻す |
LPAD |
指定した桁数になるまで文字列の左側に文字列を埋め込む。 |
LTRIM(char [,set])
|
charからsetに指定した文字を取り除いて返す。 |
REPLACE |
文字列を別の文字列で置き換える。 |
RPAD |
指定した桁数になるまで文字列の左側に文字列を埋め込む。 |
RTRIM(char [,set])
|
charからsetに指定した文字を取り除いて返す。 |
SUBSTR |
文字列から部分文字列を抜き出して戻す |
SUBSTRB |
文字列から部分文字列を抜き出して戻す |
TRANSLATE |
文字列を別の文字列で置き換える。置換後の文字列も再度置き換える。 |
TRIM([[<trim_spec>] char ] FROM ] string)
|
文字列から指定した文字を取り除いて返す。 |
UPPER |
文字列を大文字に変換して戻す |
変換関数
変換ファンクションは、あるデータ型から他のデータ型に値を変換する。
分析関数
分析関数は、問い合わせで実行される演算の集合である。結合、WHERE句、GROUP BY句及びHAVING句を実行した後で分析関数が処理される。したがって、WHERE句、GROUP BY句及びHAVING句の中では分析関数は使えない。ORDER BY句の中では分析関数を使用できる。
その他の関数
その他の関数を次に示す。
名前 |
説明 |
DECODE |
評価式が条件値に一致する場合、任意の値を返す。 |
NVL |
NULLを別の値に変換する。 |
COALESCE |
式のリストのうちNULLでない最初の値を戻す |
MOD |
剰余(割り算の余り)を返す。 |