オーロラさんの勉強帳

33歳、未経験からIT業界へ。SESのロースキル客先常駐勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。

SQL基礎 明示的なデータ型の変換 TO_CHAR(数値から文字に型変換) oracleデータベース

関数を使った明示的なデータ型変換について、今回はTO_CHAR関数を使った数値から文字型への変換について記載します。

 

前回の日付から文字への型変換については、以下の記事から。

auroralights.hatenablog.com

 

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文です。

 

f:id:auroralights:20200409000647p:plain