TO_CHAR()
を使用する場合 Oracle Databaseで数値をフォーマットする関数では、S
を使用できます。 要素をフォーマットして、その符号を返します(つまり、正の値の場合はプラス記号、負の値の場合はマイナス記号)。
MI
を使用することもできます 末尾に負の符号が付いた負の値と、末尾に空白が付いた正の値を返すように要素をフォーマットします。
S
の例 フォーマット要素
S
を示す例を次に示します。 フォーマット要素:
SELECT
TO_CHAR(-7, 'S9') AS "Negative",
TO_CHAR(7, 'S9') AS "Positive"
FROM DUAL;
結果:
Negative Positive ___________ ___________ -7 +7
S
あるいは、フォーマット要素をフォーマットモデルの最後の位置に適用することもできます。これにより、結果に記号が追加されます:
SELECT
TO_CHAR(-7, '9S') AS "Negative",
TO_CHAR(7, '9S') AS "Positive"
FROM DUAL;
結果:
Negative Positive ___________ ___________ 7- 7+
しかし、S
format要素は、フォーマットモデルの両端に表示することはできません。含まれている場合、エラーが発生します:
SELECT TO_CHAR(7, 'S9S')
FROM DUAL;
結果:
Error report - ORA-01481: invalid number format model
MI
フォーマット要素
MI
format要素
SELECT
TO_CHAR(-7, '9MI') AS "Negative",
TO_CHAR(7, '9MI') AS "Positive"
FROM DUAL;
結果:
Negative Positive ___________ ___________ 7- 7
MI
に注意してください format要素は、formatモデルの最後の位置にのみ表示できます。他の位置にある場合は、エラーが発生します:
SELECT TO_CHAR(7, 'MI9')
FROM DUAL;
結果:
Error report - ORA-01481: invalid number format model