今日も僕は定時で帰る!!

Oracle, 関数

Oracleの書式関数(数値を文字列書式に変換する)

Oracleの書式関数(数値を文字列書式に変換)の使い方をまとめていきます。

広告



数値を文字列書式に変換する

数値を文字列書式に変換する場合、TO_CHAR関数を使用します。

文法 TO_CHAR(num[, format])
引数 num:数値
format:変換する書式 ※引数書式参照
戻り値 数値(num)を書式(format)で指定した書式に変換した値を返却します。

引数書式

以下の書式を指定することで、変換後の表記を指定できます。

引数 説明
カンマ(,) 指定位置にカンマを付与した表記
例)9,999
※先頭をカンマで始めることは不可
※小数点(ピリオド)の右側には指定不可
ピリオド(.) 指定位置に小数点(ピリオド)を付与した表記
例)99.99
※2つ以上の指定は不可
ドル($) ドル記号表記
例)$9999
B 整数部が0(ゼロ)の場合、書式モデル内の0(ゼロ)にかかわらず、固定小数点数の整数部に対して空白を表記。
例)B999
C 指定した位置にISO通貨記号(NLS_ISO_CURRENCYパラメータの現在の値)を表記。
例)C999
D 指定した位置にISO通貨記号(NLS_ISO_CURRENCYパラメータの現在の値)を表記。※デフォルトはピリオド(.)
例)99D99
EEEE 科学表記法で値を表記
例)9.9EEEE
G 指定した位置に桁区切り(NLS_NUMERIC_CHARACTERパラメータの現在の値)を表記。
例)9G999
※ドットの右側には指定不可
L 指定した位置にローカル通貨記号(NLS_CURRENCYパラメータの現在の値)を表記。
例)L999
S 符号表記(正の値:+ / 負の値:-)
例)S999
※最初もしくは最後にのみ指定可
U 指定した位置にユーロ(または他の)第2通貨記号(NLS_DUAL_CURRENCYパラメータの現在の値を表記。
例)U999
V 10のn乗した値を返却 ※nはVの後の9の数
例)99V9
X 16進数表記 ※値が負の場合はエラー
例)XXXX
0 ゼロ埋め表記
例)0999 / 9990
9 指定桁表記
MI 末尾に、正の値の場合は空白、負の値の場合はマイナスを表記。
例)999MI
※最後にのみ指定可
PR 左右に、正の値の場合は空白、負の値の場合は<>を表記。
例)999PR
※最後にのみ指定可
RN ローマ数字表記
※指定できる値は1~3999

使用例