OracleDatabaseにはTO_CHAR(number)
がありますが 数値をフォーマットできる関数ですが、パーセント記号のフォーマット要素は提供していません。
したがって、Oracle Databaseで数値をパーセンテージとしてフォーマットする場合は、パーセント記号と数値を連結する必要があります。
例
CONCAT()
を使用できます 数値とパーセント記号を連結する関数。
TO_CHAR(number)
は引き続き使用できます 必要な小数点以下の桁数、先行ゼロ(またはそうでない)などになるように数値をフォーマットする関数:
SELECT CONCAT(TO_CHAR(18, 'fm00D00'), '%')
FROM DUAL;
結果:
18.00%
ここでは、0
を使用しました format要素。これは、先頭/末尾のゼロが含まれている場合でも、数字の位置が常に印刷されることを意味します。
fm
も使用しました 先頭/末尾のゼロまたは空白を抑制するためのフォーマット修飾子。
これは他のいくつかのフォーマットモデルです:
SELECT
CONCAT(TO_CHAR(7, 'fm00'), '%') AS "1",
CONCAT(TO_CHAR(7, 'fm99'), '%') AS "2",
CONCAT(TO_CHAR(7.4567, 'fm0D00'), '%') AS "3",
CONCAT(TO_CHAR(7, 'fm0D00'), '%') AS "4"
FROM DUAL;
結果:
1 2 3 4 ______ _____ ________ ________ 07% 7% 7.46% 7.00%
必要に応じて、数値に対して計算を実行できます:
SELECT
CONCAT(TO_CHAR(18 * 0.1, 'fm99D00'), '%') AS "1",
CONCAT(TO_CHAR(0.18 * 100, 'fm99D00'), '%') AS "2"
FROM DUAL;
結果:
1 2 ________ _________ 1.80% 18.00%
この場合、9
を含めました 先行ゼロが省略されるように要素をフォーマットします。
TO_CHAR()
を省略します 機能
数値をパーセンテージ形式に変換する以外に特に必要がない場合は、TO_CHAR()
も必要ありません。 機能:
SELECT CONCAT(18, '%')
FROM DUAL;
結果:
18%
連結演算子
数値とパーセント記号を連結する別の方法は、連結演算子(||
)を使用することです。 ):
SELECT 18 || '%'
FROM DUAL;
結果:
18%
そしてここにTO_CHAR()
があります 追加のフォーマットのために追加された機能:
SELECT TO_CHAR(18, 'fm00D00') || '%'
FROM DUAL;
結果:
18.00%