SQLでよく使われる関数
分類 | 関数名 | 機能 | 使い方 | 備考 |
---|---|---|---|---|
算術関数 | ABS | 数値の絶対値を取得する | SELECT ABS(気温) FROM 年別温度 | |
SIGN | 数値の正負を取得する(0より小さければー1,0なら0,0より大きければ1) | SELECT 都市名 FROM 都市別温度 WHERE SIGN(気温) = 1 | AccessではSGN関数に相当 | |
SQRT | 数値の平方根を計算する | SELECT SQRT(気温) FROM 都市別温度 | AccessではSQR関数に相当 | |
集計関数 | AVG | フィールドの値の平均値を計算する | SELET AVG(金額) FROM 受注 | |
COUNT | レコード(行)数をカウントする | SELECT COUNT(*) FROM 顧客 | ||
MAX | フィールドの最大値を取得する | SELECT MAX(購入金額) FROM 予算 | ||
MIN | フィールドの最小値を取得する | SELECT MIN(購入済金額) FROM 実績 | ||
SUM | フィールドの値を合算する | SELECT SUM(金額) FROM 受注 | ||
日付関数 | GETDATE | 現在の日付を取得する | SELECT GETDATE() | SQL Serverのみ |
SYSDATE | 現在の日付を取得する | SELECT SYSDATE FORM DUAL | Oracleのみ | |
変数関数 | CAST | データ型を変換する(引数として、変換する値と変換するデータ型を指定) | SELECT CAST(2199 AS VARCHAR2(10)) FROM DUAL | 左の例は、数値の2199を文字列の2199に変換している |
CONVERT | データ型を変換する(引数として、変換する値と変換するデータ型を指定) | SELECT CONVERT(datetime,'00/06/01') | SQL Serverのみ。左の例は文字列を日付型に変換している | |
TO_CHAR | 数値または日付型データを文字列型に変換する | SELECT TO_CHAR(日付,'YYYY/MM/DD') FROM 予定 | Oracleのみ | |
TO_DATE | 数値または文字列型データを日付型に変換する | SELECT TO_DATE(年月日,'YYYY/MM/DDHH24:MI') FROM 予定 | Oracleのみ。左の例だと1999/12/11 18:43の様に24時間表記になる | |
TO_NUMBER | 文字列型データを数値型に変換する | SELECT TO_NUMBER(年齢) FROM 名簿 | Oracleのみ | |
文字列関数 | LENGTH | 文字列の長さを計算する | SELECT LENGTH(名前) FROM 名簿 | Access/MSDE/SQLServerではLEN |
LOWER | 英文字を小文字に変換する | SELECT LOWER(名前) FROM 名簿 | AccessではLCASE関数に相当 | |
LTRIM | 文字列の左側空白を除く | SELECT LTRIM(住所) FROM 名簿 | 例)「 名古屋」が「名古屋」になる | |
RTRIM | 文字列の右側空白を除く | SELECT RTIRM(住所) FROM 名簿 | 例)「名古屋 」が「名古屋」になる | |
SUBSTRING | 文字列の一部を取り出す(引数として、フィールド名,開始位置,文字数を指定) | SELECT SUBSTRING(製品名,1,3) FORM 商品 | AccessではMID関数に相当 | |
UPPER | 英文字を大文字に変換する | SELECT UPPER(名前) FORM 名簿 | AccessではUCASE関数に相当 |