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関数に相当