Oracle Databaseを使用する場合、TO_CHAR(number)
などの関数を使用できます。 数値を文字列として返すには、を小数点以下2桁(または必要な小数点以下の桁数)にフォーマットします。
または、ROUND(number)
などの関数を使用できます およびTRUNC(number)
数値を必要な小数点以下の桁数に丸めたり切り捨てたりします。
TO_CHAR()
機能
TO_CHAR(number)
を使用する例を次に示します。 機能:
SELECT TO_CHAR(1.2345, 'fm99D00')
FROM DUAL;
結果:
1.23
この場合、元の数値は小数点以下2桁を超えるため、結果は、小数点以下の指定された数のゼロに切り捨てられます(D
)フォーマットモデルで。
10進文字の後にゼロを使用した理由は、必要に応じて末尾のゼロを提供するためです。
例:
SELECT TO_CHAR(7, 'fm99D00')
FROM DUAL;
結果:
7.00
末尾のゼロが必要ない場合は、0
を変更できます 9
への文字 s。
2つの比較は次のとおりです。
SELECT
TO_CHAR(7, 'fm99D00') AS "r1",
TO_CHAR(7, 'fm99D99') AS "r2"
FROM DUAL;
結果:
r1 r2 _______ _____ 7.00 7.
9
を使用する sこの場合、基数文字になりますが、小数点以下の桁数はありません。
fm
を指摘する必要があります 結果に適用される可能性のあるパディングを削除するフォーマット修飾子です。結果が埋め込まれることを気にしない場合は、これを省略できます。ただし、これを行うと、9
を使用している場合でも、末尾にゼロが表示される可能性があります。 フォーマット要素。
fm
を削除するとどうなりますか 前の例から:
SELECT
TO_CHAR(7, '99D00') AS "r1",
TO_CHAR(7, '99D99') AS "r2"
FROM DUAL;
結果:
r1 r2 _________ _________ 7.00 7.00
もちろん、小数点以下2桁に制限されているわけではありません。必要に応じて、フォーマットモデルで小数点以下の桁数を増やすことができます。
例:
SELECT TO_CHAR(7, 'fm99D0000')
FROM DUAL;
結果:
7.0000
ROUND()
機能
ROUND(number)
を使用する例を次に示します。 機能:
SELECT ROUND(1.2573, 2)
FROM DUAL;
結果:
1.26
T ROUND()
関数は、数値を指定された小数点以下の桁数に丸めます。ここでは、小数点以下2桁を指定しましたが、任意の数値を指定できます。
この場合、数値は切り上げられました。
TRUNC()
機能
TRUNC(number)
を使用する例を次に示します。 機能:
SELECT TRUNC(1.2573, 2)
FROM DUAL;
結果:
1.25
TRUNC()
関数は、数値を指定された小数点以下の桁数に切り捨てます。丸めは発生しません。