関数を使った明示的なデータ型変換について、今回はTO_CHAR関数を使った数値から文字型への変換について記載します。
前回の日付から文字への型変換については、以下の記事から。
TO_CHAR関数で数値から文字へのデータ型変換
■構文
TO_CHAR(数値[,書式][,NSLパラメータ])
指定した数値データを指定した書式の文字列に変換できます。
書式はOracleデータベースで規定された数値の書式を使用。単一引用符で囲みます。
NSLパラメータでは、現行セッションと異なる言語・地域の使用や小数点文字、グループ区切り文字、ローカル通貨記号、国際通貨文字を指定できます。
TO_CHAR関数で使用可能な数値の要素
<桁数関連>
9:9の数が有効な桁数を表す
(例:99999→結果:111)
0:桁数に満たない場合、先頭に0を付ける
(例:09999→結果:0123)
B:ゼロではなく空白を付けた数値を表す
(例:B9999→結果:123)
<通貨関連>
$:$記号を数値の前に付けて表す
L:ローカル通貨記号を数値の前に付けて表す
<小数点>
D:指定した位置に小数点をつけて表す
.:指定した位置に小数点をつけて表す
<正・負>
MI:負値の場合、右にマイナス記号を付けて表す
PR:負値をカッコ(<>)で囲んで表す
S:負値にマイナス記号、正の値にプラス記号を付けて表す
実際にTO_CHARで数値から文字に型変換をする
sample1
select TO_CHAR(ID,'099') from testidkanri;
ID列を3桁で桁数に満たない場合は、頭に0を付けて表示するSELECT文です。