So-net無料ブログ作成

SQLの基本-数値関数編 [SQL]

SQLの基本-数値関数編

数値演算関数をまとめてみました。 何処まで、SQLで処理すれば良いのか迷いますが、知っていて損はないと思います。

・絶対値

Oracle MySQL PostgreSQL SQL Server
ABS(数値式) ABS(数値式) ABS(数値式) ABS(数値式)

・ビットAND演算

Oracle MySQL PostgreSQL SQL Server
BITAND(数値式,数値式)      

・数値式の符号を返す(-1,0,1)

Oracle MySQL PostgreSQL SQL Server
SIGN(数値式) SIGN(数値式) SIGN(数値式) SIGN(数値式)

・平方根を返す

Oracle MySQL PostgreSQL SQL Server
SQRT(数値式) SQRT(数値式) SQRT(数値式) SQRT(数値式)

・整数の除算

Oracle MySQL PostgreSQL SQL Server
数値1 DIV 数値2 数値1 DIV 数値2 数値1 DIV 数値2 数値1 DIV 数値2

・余りを返す

Oracle MySQL PostgreSQL SQL Server
MOD(割られる数,割る数) MOD(割られる数,割る数) MOD(割られる数,割る数) 割られる数 % 割る数

・CRC32(巡回冗長検査)値を返す

Oracle MySQL PostgreSQL SQL Server
  CRC32(文字列式)    

・0~1の範囲の乱数を返す。

Oracle MySQL PostgreSQL SQL Server
DBMS_RANDOMパッケージを使用する。
RAND()
RAND(種数)
RANDOM() RAND()
RAND(種数)

Oracleの乱数
基本書式では、0~1未満の小数点以下38桁を返します。
拡張書式は指定した範囲を返します。
基本書式:DBMS_RANDOM.VALUE
拡張書式:DBMS_RANDOM.VALUE(範囲の最小値, 範囲の最大値)
戻り値:数値

・πを返す

Oracle MySQL PostgreSQL SQL Server
PI() PI() PI() PI()

ラジアンと角度
・角度からラジアンに変換

Oracle MySQL PostgreSQL SQL Server
数値式 * PI()/180 RADIANS(数値式) RADIANS(数値式) RADIANS(数値式)

・ラジアンから角度に変換

Oracle MySQL PostgreSQL SQL Server
ラジアン値 * 180 / PI() DEGRES(ラジアン値) DEGRES(ラジアン値) DEGRES(ラジアン値)

三角関数、逆三角関数
・サイン(正弦)を返す

Oracle MySQL PostgreSQL SQL Server
SIN(ラジアン値) SIN(ラジアン値) SIN(ラジアン値) SIN(ラジアン値)

・コサイン(余弦)を返す

Oracle MySQL PostgreSQL SQL Server
COS(ラジアン値) COS(ラジアン値) COS(ラジアン値) COS(ラジアン値)

・タンジェント(正接)を返す

Oracle MySQL PostgreSQL SQL Server
TAN(ラジアン値) TAN(ラジアン値) TAN(ラジアン値) TAN(ラジアン値)

・コタンジェント(余接)を返す

Oracle MySQL PostgreSQL SQL Server
1/TAN(ラジアン値) COT(ラジアン値) COT(ラジアン値) COT(ラジアン値)

・アークサイン(逆正弦)

Oracle MySQL PostgreSQL SQL Server
ASIN(数値式) ASIN(数値式) ASIN(数値式) ASIN(数値式)

・アークコサイン(逆余弦)

Oracle MySQL PostgreSQL SQL Server
ACOS(数値式) ACOS(数値式) ACOS(数値式) ACOS(数値式)

・アークタンジェント(逆正接)

Oracle MySQL PostgreSQL SQL Server
ATAN(数値式)
ATAN2(Y数値式,X数値式)
ATAN(数値式)
ATAN2(Y数値式,X数値式)
ATAN(数値式)
ATAN2(Y数値式,X数値式)
ATAN(数値式)
ATN2(Y数値式,X数値式)

・ハイパボリックサイン(双曲線正弦)

Oracle MySQL PostgreSQL SQL Server
SINH(数値式) (EXP(数値)-EXP(-数値))/2 (EXP(数値)-EXP(-数値))/2 (EXP(数値)-EXP(-数値))/2

・ハイパボリックコサイン(双曲線余弦)

Oracle MySQL PostgreSQL SQL Server
COSH(数値式) (EXP(数値)+EXP(-数値))/2 (EXP(数値)+EXP(-数値))/2 (EXP(数値)+EXP(-数値))/2

・ハイパボリックタンジェント(双曲線正接)

Oracle MySQL PostgreSQL SQL Server
TANH(数値式) (EXP(数値)-EXP(-数値))/(EXP(数値)+EXP(-数値)) (EXP(数値)-EXP(-数値))/(EXP(数値)+EXP(-数値)) (EXP(数値)-EXP(-数値))/(EXP(数値)+EXP(-数値))

* Oracle以外は、指数関数により取得可能
tanh(θ)=sinh(θ) / cosh(θ)
tanh(θ)=(exp(θ) - exp(-θ))/(exp(θ) + exp(-θ))

丸め、切捨て切り上げ
・四捨五入を返す
桁数:正の数の場合は小数点以下指定数で四捨五入
   負の数の場合は整数部を指定桁数+1桁目までを四捨五入
操作内容:0で四捨五入、0以外は切り捨て

Oracle MySQL PostgreSQL SQL Server
ROUND(数値式 [, 桁数]) ROUND(数値式 [, 桁数]) ROUND(数値式 [, 桁数]) ROUND(数値式 , 桁数[, 操作内容])

・指定された桁数に切り捨てた値を返す

Oracle MySQL PostgreSQL SQL Server
TRUNC(数値式 [, 桁数]) TRUNC(数値式 [, 桁数]) TRUNCATE(数値式 [, 桁数])

・指定した数値以上で最小の整数を返す

Oracle MySQL PostgreSQL SQL Server
CEILING(数値式)
CEIL(数値式)
CEILING(数値式)
CEIL(数値式)
CEILING(数値式)
CEIL(数値式)
CEILING(数値式)
CEIL(数値式)

・指定数値以下の最大の整数を返す

Oracle MySQL PostgreSQL SQL Server
FLOOR(数値式) FLOOR(数値式) FLOOR(数値式) FLOOR(数値式)

・最も大きい値を返す

Oracle MySQL PostgreSQL SQL Server
GREATEST(数値式1,数値式2[, 数値式 ・・・]) GREATEST(数値式1,数値式2[, 数値式 ・・・])    

・最も小さい値を返す

Oracle MySQL PostgreSQL SQL Server
LEAST(数値式1,数値式2[, 数値式 ・・・]) LEAST(数値式1,数値式2[, 数値式 ・・・])    

対数とべき乗
・自然対数の底のべき乗

Oracle MySQL PostgreSQL SQL Server
EXP(数値式) EXP(数値式) EXP(数値式) EXP(数値式)

・自然対数を返す

Oracle MySQL PostgreSQL SQL Server
LN(数値式) LN(数値式)
LOG(数値式)
LN(数値式)
LOG(数値式)
LOG(数値式)

・2を底とする対数を返す

Oracle MySQL PostgreSQL SQL Server
LOG2(数値式) LOG2(数値式) LOG2(数値式) LOG2(数値式)

・常用対数を返す

Oracle MySQL PostgreSQL SQL Server
  LOG10(数値式)   LOG10(数値式)

・底を指定する対数を返す

Oracle MySQL PostgreSQL SQL Server
LOG(底の数値,数値式1) LOG(底の数値,数値式1)  

・べき乗を返す

Oracle MySQL PostgreSQL SQL Server
POW(基数,指数)
POWER(基数,指数)
POW(基数,指数)
POWER(基数,指数)
POW(基数,指数)
POWER(基数,指数)
SQUARE(数値式)

集合関数
・標準偏差を返す

Oracle MySQL PostgreSQL SQL Server
STDDEV(数値式)   STDDEV(数値式) STDEV(数値式)

・母集団(標本)標準偏差を返す

Oracle MySQL PostgreSQL SQL Server
STDDEV_POP(数値式) STDDEV(数値式)   STDEVP(数値式)

・分散を返す

Oracle MySQL PostgreSQL SQL Server
VARIANCE(数値式)   VARIANCE(数値式) VAR(数値式)

・母集団(標本)分散を返す

Oracle MySQL PostgreSQL SQL Server
VAR_POP(数値式) VARIANCE(数値式)   VARP(数値式)

・相関係数を返す
-1~1の範囲の値を返します。
-1≒は負の関連性が強い
0≒は関連性が薄い
1≒は正の関連性が強い
*年齢と給与の係数取得等に使用します。

Oracle MySQL PostgreSQL SQL Server
CORP(数値式1,数値式2)      


SQLの基本-文字列操作関数編 [SQL]

SQLの基本-文字列操作関数編

文字列の値の調査や操作のための関数をまとめてみました。 使用法は、特に難しくもなく引数から連想できるものばかりなのでサンプルは不要としました。

・文字を文字コードに変換(最初の1バイト)

Oracle MySQL PostgreSQL SQL Server
ASCII(文字列) ASCII(文字列)
HEX(文字列式) 16進の文字コードを返す
ASCII(文字列) ASCII(文字列)
UNICODE(文字列)



・数値を文字に変換

Oracle MySQL PostgreSQL SQL Server
  HEX(16進数値)   STR(数値, 桁数, 小数点以下の桁数)



・文字列のエスケープ表現
文字列内の引用符やバックスラッシュがSQLで処理されるように文字列を作成する。

Oracle MySQL PostgreSQL SQL Server
QUOTE(文字列式)



・文字列の結合

Oracle MySQL PostgreSQL SQL Server
CONCAT(文字列式,文字列式) CONCAT(文字列式,文字列式 [, 文字列式・・・])
CONCAT_WS(区切り文字, 文字列式 [, 文字列式・・・]))
文字列式 || 文字列式 文字列式 + 文字列式



・文字数の取得

Oracle MySQL PostgreSQL SQL Server
LENGTH(文字列式) CHARACTER_LENGTH(文字列式)
CHAR_LENGTH(文字列式)
LENGTH(文字列式)
CHARACTER_LENGTH(文字列式)
CHAR_LENGTH(文字列式)
LEN(文字列式)



・文字列のバイト数

Oracle MySQL PostgreSQL SQL Server
LENGTHB(文字列式) OCTET_LENGTH(文字列式)
>LENGTH(文字列式)
OCTET_LENGTH(文字列式)  



・英字の小文字変換

Oracle MySQL PostgreSQL SQL Server
LOWER(文字列式)
全角アルファベットも対象
LOWER(文字列式)
LCASE(文字列式)
LOWER(文字列式)
LCASE(文字列式)
LOWER(文字列式)
全角アルファベットも対象



・英字の大文字変換

Oracle MySQL PostgreSQL SQL Server
UPPER(文字列式)
全角アルファベットも対象
UPPER(文字列式)
UCASE(文字列式)
UPPER(文字列式)
UCASE(文字列式)
UPPER(文字列式)
全角アルファベットも対象



・単語のキャピタライズ
単語の先頭文字を大文字に変換します。

Oracle MySQL PostgreSQL SQL Server
INITCAP(文字列式)
全角アルファベットも対象
UPPER(文字列式)
UCASE(文字列式)
   



・文字列の反転

Oracle MySQL PostgreSQL SQL Server
  REVERSE(文字列式)   REVERSE(文字列式)



・文字列の長さ分指定文字で埋める

Oracle MySQL PostgreSQL SQL Server
LPAD(文字列式, 数値式, 埋め文字列)
RPAD(文字列式, 数値式, 埋め文字列)
LPAD(文字列式, 数値式, 埋め文字列)
RPAD(文字列式, 数値式, 埋め文字列)
LPAD(文字列式, 数値式[, 埋め文字列])
RPAD(文字列式, 数値式[, 埋め文字列])
 



・文字列の空白の除去

Oracle MySQL PostgreSQL SQL Server
LTRIM(文字列式)
RTRIM(文字列式)
LTRIM(文字列式)
RTRIM(文字列式)
LTRIM(文字列式)
RTRIM(文字列式)
LTRIM(文字列式)
RTRIM(文字列式)



・文字列から指定文字列の除去

Oracle MySQL PostgreSQL SQL Server
TRIM([{LEADING | TRAILING | BOTH}] 文字列式 [ FROM 削除文字列式]) TRIM([{LEADING | TRAILING | BOTH}] 文字列式 [ FROM 削除文字列式]) TRIM([{LEADING | TRAILING | BOTH}] 文字列式 [ FROM 削除文字列式])  



・空白文字列の作成

Oracle MySQL PostgreSQL SQL Server
  SPACE(数値式)   SPACE(数値式)



・連続文字列の作成

Oracle MySQL PostgreSQL SQL Server
  REPEAT(文字列式, 数値式) REPEAT(文字列式, 数値式) REPLICATE(文字列式, 数値式)



・文字列の検索(文字位置)

Oracle MySQL PostgreSQL SQL Server
INSTR(文字列式,検索文字列式[, 開始位置[,発見場所数指定]])
INSTRB(文字列式,検索文字列式[, 開始位置[,発見場所数指定]])
LOCATE(文字列式,検索文字列式[, 開始位置])
POSSTR(文字列式,検索文字列式)
INSTR(文字列式,検索文字列式[, 開始位置])
POSITION(検索文字列式 IN 文字列式)
POSITION(検索文字列式 IN 文字列式) CHARINDEX(文字列式,検索文字列式[, 開始位置])



・文字の置換え
TRANSLATEは、検索文字列式と置換文字列式を一文字づつ対応させて置き換えます。
REPLACEは、単語単位の置換えです。
例:
 文字列式=abcdefdcba
 検索文字列式=abcd
 置換文字式=置換文字
 
TRANSLATE(文字列式, 検索文字列式, 置換文字列式) → 置換文字ef字文換置
REPLACE(文字列式, 検索文字列式, 置換文字列式)  → 置換文字efdcba

Oracle MySQL PostgreSQL SQL Server
TRANSLATE(文字列式, 検索文字列式, 置換文字列式)
REPLACE(文字列式, 検索文字列式, 置換文字列式)
REPLACE(文字列式, 検索文字列式, 置換文字列式) TRANSLATE(文字列式, 検索文字列式, 置換文字列式)
REPLACE(文字列式, 検索文字列式, 置換文字列式)
REPLACE(文字列式, 検索文字列式, 置換文字列式)



・文字列の一部置換と挿入

Oracle MySQL PostgreSQL SQL Server
  INSERT(文字列式, 入れ替え位置, 置換文字数, 置換文字列式)   STUFF(文字列式, 入れ替え位置, 置換文字数, 置換文字列式)



・文字列の左右の取得

Oracle MySQL PostgreSQL SQL Server
LEFT(文字列式,数値式)
RIGHT(文字列式,数値式)
  LEFT(文字列式,数値式)
RIGHT(文字列式,数値式)



・文字列の一部の取得

Oracle MySQL PostgreSQL SQL Server
SUBSTR(文字列式, 数値式1, 数値式2) SUBSTR(文字列式, 数値式1, 数値式2)
SUBSTRING(文字列式, 数値式1[, 数値式2])
SUBSTRING(文字列式 FROOM 数値式1[ FOR 数値式2])
MID(文字列式, 数値式1, 数値式2)
SUBSTR(文字列式, 数値式1, 数値式2)
SUBSTRING(文字列式, 数値式1[, 数値式2])
SUBSTRING(文字列式 FROOM 数値式1[ FOR 数値式2])
SUBSTRING(文字列式, 数値式1[, 数値式2])


メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。