数値の切り上げや切り捨て、累乗、平方根や三角関数など数学的な計算を行うための関数群です。役割も名称も、CやVBなどに用意されている関数群とほぼ同じです。一般的な事務処理に必要な関数を中心に紹介しておきます。
- 四捨五入~ROUND -
機能:指定した桁数で数値を丸めます。
書式:ROUND(<数値>, <桁数>)
引数
<数値>:bit型以外の数値型
<桁数>:正の値の場合は小数点以下の桁数、負の値なら整数部の桁数となり、<数値>はその桁位置で丸められます。
戻り値:引数<数値>と同じ型
例:テーブル「商品_mr」の「販売単価」の値を2割引し、2桁目で四捨五入します。
a)「販売単価」を2割引(0.8倍)
SELECT
商品ID, 品名, 販売単価,
販売単価 * 0.8 AS 割引価格
FROM 商品_mr
b)2割引した結果を整数部2桁目で四捨五入
SELECT
商品ID, 品名, 販売単価,
ROUND((販売単価 * 0.8), -2) AS 割引価格
FROM 商品_mr
- 切り捨て~ROUND -
機能:ROUND関数の第3引数に「0以外の値」を設定すると、指定した桁数で数値を切り捨てます。
書式:ROUND(<数値>, <桁数>, <機能>)
引数
<数値>:bit型以外の数値型
<桁数>:正の値の場合は小数点以下の桁数、負の値なら整数部の桁数となり、<数値>はその桁位置で切り捨てられます。
<機能>:0以外の値
戻り値:引数<数値>と同じ型
例:テーブル「商品_mr」の「販売単価」の値を2割引し、2桁目で切り捨てて100円単位の価格にします。
SELECT
商品ID, 品名, 販売単価,
ROUND((販売単価 * 0.8), -2, 1) AS 割引価格
FROM 商品_mr
- 小数部の切り上げ~CEILING -
機能:小数の値を切り上げて整数にします。
書式:CEILING(<数値>)
引数:bit型以外の数値型
戻り値:引数<数値>と同じ型
例:テーブル「商品_mr」の「仕入単価」の値を32%増しした値を切り上げて「新販売価格」とします。
a)単純に32%増しした場合は端数が出る
SELECT
商品ID, 品名, 仕入単価,
(仕入単価 + (仕入単価 * 0.32)) AS 新販売単価
FROM 商品_mr
b)小数部を切り上げて整数にする
SELECT
商品ID, 品名, 仕入単価,
CEILING((仕入単価 + (仕入単価 * 0.32))) AS 新販売単価
FROM 商品_mr
- 小数の切り捨て~FLOOR -
機能:小数の値を切り捨てて整数にします。
書式:FLOOR(<数値>)
引数:bit型以外の数値型
戻り値:引数<数値>と同じ型
例:テーブル「商品_mr」の「仕入単価」の値を32%増しした値を切り捨てて「新販売価格」とします。
SELECT
商品ID, 品名, 仕入単価,
FLOOR((仕入単価 + (仕入単価 * 0.32))) AS 新販売単価
FROM 商品_mr
- 平均~AVG -
機能:指定したフィールドの値の平均を返します。NULL値は無視されます。
書式:AVG(<フィールド>)
引数:フィールド名を示す文字列
戻り値:除算を行うため、引数の型と計算結果によって異なります。
例:テーブル「累積売上_fx」から「金額」フィールドの平均を求めます。
SELECT AVG(金額) AS 金額平均 FROM 累積売上_fxAVG
第21回「データの集計(3)~集計関数とグループ化」で集計関数として紹介したとおりです。
- レコード件数~COUNT関数 -
機能:指定したフィールドのレコード件数を返します。
書式:COUNT(<フィールド | *>)
引数:フィールド名を示す文字列または*記号
戻り値:int型
例:テーブル「累積売上_fx」のレコード件数を求めます。
SELECT COUNT(*) FROM 累積売上_fx
引数にフィールド名を指定すると、そのフィールドに値の入っている(Nullではない)レコードの数をカウントします。単にレコード件数を求めるだけなら、引数に*を与えます。第21回「データの集計(3)~集計関数とグループ化」で集計関数として紹介したとおりです。
- 2乗~SQUARE -
機能:値の2乗を返します。
書式:SQUARE(<数値>)
引数:float型の数値
戻り値:float型
- 平方根~SQRT -
機能:値の平方根を返します。
書式:SQRT(<数値>)
引数:float型の数値
戻り値:float型
- 乱数の発生~RAND -
機能:0~1の間で小数の乱数を発生します。
書式:RAND(<シード値>)
引数:生成する乱数の元となる整数(tinyint、smallint、int)
戻り値:float型
RAND関数は、シード値を変更しない限り連続して呼び出しても同じ値を生成します。同じクエリーやプロシージャ内で連続して乱数を発生させるには、RAND関数を呼び出すたびにシード値を変更します。
- 円周率~PI -
機能:円周率(π)を返します。
書式:PI()
戻り値:float型の定数
- 絶対値~ABS -
機能:値の正の絶対値を返します。
書式:ABS(<数値>)
引数:bit型以外の数値
戻り値:引数の<値>と同じ型
- 三角関数 -
SIN、COS、TANなどの三角関数を計算して返します。これら三角関数では、一般的な角度ではなくラジアン(radian)と呼ばれる平面角を用います。ラジアンと通常の角度とは、後述するRADIANS関数とDEGREES関数でそれぞれ求められます。
一般的な事務処理で三角関数を用いることはあまりないので、各関数の機能を簡単に紹介しておきます。
・SIN
機能:角度(ラジアン単位)のサイン(正弦)を返します。
書式:SIN(<角度>)
引数:float型のラジアン値
戻り値:float型
・COS
機能:角度(ラジアン単位)のコサイン(余弦)を返します。
書式:COS(<角度>)
引数:float型のラジアン値
戻り値:float型
・TAN
機能:角度(ラジアン単位)のタンジェント(正接)を返します。
書式:TAN(<角度>)
引数:float型のラジアン値
戻り値:float型
・COT
機能:角度(ラジアン単位)のコタンジェント(タンジェントの逆数、余接)を返します。
書式:COT(<角度>)
引数:float型のラジアン値
戻り値:float型
- 角度をラジアン値に~RADIANS -
機能:「度」単位の角度をラジアンに変換します。
書式:RADIANS(<角度>)
引数:bit型以外の数値
戻り値:引数と同じ型
- ラジアン値を角度に~DEGREES -
機能:ラジアンを「度」単位の角度に変換します。
書式:DEGREES(<ラジアン値>)
引数:bit型以外の数値
戻り値:引数と同じ型
|
|
|