[pgsql-jp: 35554] Re: SQLの結果での空白の扱い

shinmori toshiaki shinmori @ cbnet.co.jp
2005年 6月 22日 (水) 15:26:59 JST


新守です。

藤沢さん、ご返答ありがとうございます。

> 8.0のマニュアル 
> http://www.postgresql.jp/document/pg800doc/html/datatype-character.html に
> 以下のような記載があります。
> 
> #character型の値は、指定長nになるまで物理的に空白で埋められ、そのまま格納、
> 表示されます。しかし、追加された空白は意味的に#重要ではないものとして扱われ
> ます。最後の空白は、2つのcharacter型の値を比べる際には無視されます。また、
> character値を他の文字列型に変換する際には除去されます。
> 
> この仕様によるものではないでしょうか?
> また、7.1のマニュアルの該当箇所には得になにも記載はありませんでした。
> http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/datatype-character.
> html
なるほど、selectで'|'を付加した際にキャストが行われたということですね。
char型だけの問題ということですね。納得しました。
まあchar型の後ろの空白を気にするほうが変だったんですね。

> 私が以前利用していたIBMのDB2ではCHAR型は余った桁数を空白で埋めて保存・取得さ
> れていました。
> また、MySQLでは余った桁数を空白で埋めて保存しますが取得時にこの空白は切り捨
> てられるようです。
> (MySQLは利用したことがないのでちょっと調べただけです・・・間違ってたらごめ
> んなさい)
DBによっても変わるということですね。

些細なようでシステムに関係することって結構ありそうですね。
マニュアルを読み返してみようかと思います。
ありがとうございました。

+----+----+----+----+----+----+----+
(株)コンピューター・ビジネス 新守
e-mail: shinmori @ cbnet.co.jp
+----+----+----+----+----+----+----+




pgsql-jp メーリングリストの案内