開発中に「あれ?!」と思ったので記録の意味で。
DBからデータを引っ張っていて、フィールド定義はtext型だが、固定長で出力する必要があったため、
SELECT 'hoge ' || field1::char(20) FROM table1;というように書いた。
が、結果は
hoge AAA↵(改行コード)というように勝手にトリム(trim)されている。
なんで?と思って、調べたら文字列を結合する演算子の||は、返す型がtextのため、不要な空白は消してくれているらしい。
なので、実装には
SELECT 'hoge ' || rpad( field1, 20 ) FROM table1;というようにしたら大丈夫になりました。
0 件のコメント:
コメントを投稿