- PR -

SQL文

1
投稿者投稿内容
始まり
常連さん
会議室デビュー日: 2006/10/03
投稿数: 31
投稿日時: 2007-09-25 17:14
select a.kingaku as charge,~~

select to_char(a.kingaku, '999,999,999,999') as charge,~~

カンマ区切りを入れるため上記のSQLを追加したのですが
表示がおかしくカンマ区切りになってるのですが、100.000のように桁数が少ないと左側に半角スペースが表示されてしまいます。

左側の空白を削除するのにltrim関数が使えると書いてあったのですがどのように記述したらいいのかが分かりませんでした。

SQLの記述方法を教えてください宜しく御願いします。
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-09-25 17:43
#私はOracleでSQLを書いたことがないのですが(汗

引用:

始まりさんの書き込み (2007-09-25 17:14) より:
左側の空白を削除するのにltrim関数が使えると書いてあったのですがどのように記述したらいいのかが分かりませんでした。


何か試行錯誤してみましたか?私ならまずは

select ltrim(to_char(a.kingaku, '999,999,999,999')) as charge,・・・

と書いてみますけど。
m.m.
常連さん
会議室デビュー日: 2003/04/22
投稿数: 20
投稿日時: 2007-09-25 18:04
こんな方法もありますよ。

select to_char(a.kingaku, 'FM999,999,999,999') as charge, ...
始まり
常連さん
会議室デビュー日: 2006/10/03
投稿数: 31
投稿日時: 2007-09-25 18:07
返信ありがとうございます

select ltrim to_char(a.kingaku, '999,999,999,999')) as charge,

とか

select to_char(ltrim a.kingaku, '999,999,999,999')) as charge,

感じでやっていました^-^;

select ltrim(to_char(a.kingaku, '999,999,999,999')) as charge
このようにすれば良かったのですね。

有難う御座いました。
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-09-25 18:22
引用:

始まりさんの書き込み (2007-09-25 18:07) より:
select ltrim to_char(a.kingaku, '999,999,999,999')) as charge,

とか

select to_char(ltrim a.kingaku, '999,999,999,999')) as charge,

感じでやっていました^-^;


どこからそういう発想が出てくるのかちょっと不思議です。言語仕様を確認していればあり得ない書き方です。

#少し(じゃないな)危機感を持たれた方がいいと思います@老婆心。

カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2007-09-25 18:41
引用:

始まりさんの書き込み (2007-09-25 18:07) より:

select ltrim(to_char(a.kingaku, '999,999,999,999')) as charge
このようにすれば良かったのですね。


m.m.さんの推奨どおり、'FM'を使うのが真っ当ですよ。
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-09-25 19:33
引用:

カーニーさんの書き込み (2007-09-25 18:41) より:
m.m.さんの推奨どおり、'FM'を使うのが真っ当ですよ。


たしかに・・ですね。最初にリファレンスを探せばよかった(@言い訳)。
1

スキルアップ/キャリアアップ(JOB@IT)