- - PR -
TO_CHARの変換関数について。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-10-16 14:41
現在 Oracle を勉強しています。
その中で変換関数について質問があります。 ”TO_CHARなど変換関数の数値書式では「9」や「0」を1桁の数値とみなし、 「0」は先行0を表示するし、「9」は先行0を表示しません。” という説明で、 以下の@があったので、どうなるのだろうと思い、試したところ、 Aの結果になりました。 @select TO_CHAR(4567, '000,000.99') FROM dual; A TO_CHAR(456 ----------- 004,567.00 「004,567」になると思ったので、以下のことを疑問に思ってしまったのです。 a)@の'000,000.99'の'99'の部分はなぜ、'00'となるのでしょうか。 b)'「9」は先行0を表示しません'とは、どういうことなのでしょうか。 このa)とb)の疑問に対してご教授お願いいたします。 OS:WindowsXP Oracleのバージョン:10g SQL*Plusによりデータベースにアクセスしています。 | ||||
|
投稿日時: 2006-10-16 15:02
a)@の'000,000.99'の'99'の部分はなぜ、'00'となるのでしょうか。
小数部だから b)'「9」は先行0を表示しません'とは、どういうことなのでしょうか。 前ゼロを表示しない | ||||
|
投稿日時: 2006-10-16 15:20
ぷさいくろうさん、返答して下さってありがとうございます。
言葉足らずで申し訳ございません。 b)に関してですが、 '「9」は先行0を表示しません'とは、どこの「先行0」、「前のゼロ」とは、一番前の0のことなのでしょうか。 「前のゼロは表示しない」とあるのに、Aの004,567.00の前の部分に、0があるのは、なぜ。思ったのです。 うまく表現できなくて、申し訳ございません。 | ||||
|
投稿日時: 2006-10-16 15:24
前ゼロでググるとええよ
| ||||
|
投稿日時: 2006-10-16 16:45
「0」と「9」の違いを確認したいようでしたら、そのまま「0」を「9」に置き換えて select TO_CHAR(4567, '999,999.99') FROM dual; もテストしてみればよかったのでは? |
1