SQL Master データベースエンジニアとLinuxエンジニアのための情報まとめ

OracleやMS SQL serverの資格対策、SQLコマンド辞典、Linuxコマンド辞典、セキュリティに関する情報

SQL辞典

【SQL算術関数】ROUND – 四捨五入を行う(まるめる)(Oracle、SQL Server)

投稿日:2009年9月11日 更新日:

ROUND関数は数値を四捨五入する関数ですが、MS SQLとOracleでは若干使い方が違います。OracleではROUND関数の引数に指定した数値を四捨五入しますが、MS SQLの場合は四捨五入するか切り捨てるかの指定を行う必要があります。つまり、MS SQLの場合はROUND関数はOracleのTRUNC関数と同じ機能を持つことになります。

文法:

ROUND(value, d [, type] )   SQL Server
ROUND(value [, d] )      Oracle

SQL Serverの場合、typeに従ってvalueの値をdで指定した小数点以下の桁数で四捨五入もしくは切り捨てる。typeに0以外の数値を指定すると、ROUND関数は切り捨てした値を返す。
Oracleの場合、dで指定した小数点以下の桁数で四捨五入する。

使用例:テストの平均点を四捨五入する。(SQL Server)

SELECT score, ROUND(score, 0) FROM tbScoreTable;

score     ROUND(score, 0)
———————————————–
40.323    40.000
63.678    64.000
89.835    90.000

使用例:テストの平均点を小数点2桁まで残して四捨五入する。(Oracle)

SELECT score, ROUND(score, 2) FROM tbScoreTable;

score     ROUND(score, 2)
———————————————-
40.323    40.320
63.678    63.680
89.835    89.840

使用例:テストの平均点を小数点1ケタを残して切り捨てる(SQL Server)

SELECT score, ROUND(score, 1, 1) FROM tbScoreTable;

score     ROUND(score, 1, 1)
———————————————
40.323    40.300
63.678    63.600
89.835    89.800

SQLコマンド辞典に戻る

広告

広告

-SQL辞典


comment

関連記事

no image

【SQL文字列関数】CHARINDEX – 文字列の位置を求める(SQL Server)

SQL ServerのCHARINDEX関数は文字列の位置を返します。例えば、「Windows」という文字列からdの位置を求めると4となります。sの位置は7となります。大文字小文字の区別はありません。 …

no image

【SQL変換関数】NULLIF – 等しい場合にNULLを返す(Oracle、SQL Server)

NULLIF関数は2つの引数を比較して、2つの引数が等しい場合はNULLを返します。等しくない場合は、1つ目の引数を返します。Oracle、SQL Serverなどで利用できます。 構文: NULLI …

no image

【SQL文字列関数】LPAD – 文字列を指定した文字で充填する(Oracle)

Oracleで文字列を指定した長さになるまで、ある特定の文字で充填するにはLPAD関数もしくはRPAD関数を使用します。LPAD関数は文字の先頭(左側)から文字を充填していきます。 文法: LPAD( …

no image

【SQL日付関数】EXTRAC – 日付から任意の日付要素を取得する (Oracle)

Oracleで、日付値から任意の日付要素(年、月、日など)を取得するにはEXTRACT関数を使います。例えば、EXTRACT関数を使えば、2008-09-22という日付値から、月を取得すると09という …

no image

【SQL算術関数】RAND – 乱数を取得する(SQL Server)

SQL Serverで乱数を取得するにはRAND関数を使います。使用例のようにRAND関数を実行するたびに乱数が発生しますが、乱数の種を指定すると、1つの乱数を返します。 文法: RAND( [see …

広告

転職