mysql:11023
From: 柴垣 <柴垣 <akiro@xxxxxxxxxx>>
Date: Mon, 21 Feb 2005 09:45:10 +0900
Subject: [mysql 11023] 3桁ごとのカンマ出力
柴垣です。 MySQL の数値出力に、3桁ごとにカンマを入れたいのです。 MySQLからデータを受け取った後での加工がむずかしい場面な ので、なんとかMySQL側でフォーマットにしたいのですが、 なかなかうまい方法が見つかりません。 とりあえず、下記のようなSQLをつくって動かしていますが、 もっといい方法はないでしょうか。 select concat( if((Value)<0,'-',''), if(abs(Value)>1000000,concat(floor(abs(Value)/1000000),','),''), if(abs(Value)>1000000, concat(lpad(floor(abs(Value)%1000000/1000),3,'0'),','), if(abs(Value)>1000,concat(floor(abs(Value)/1000),','),'')), if(abs(Value)>1000,lpad(abs(Value)%1000,3,'0'),abs(Value)%1000)) from table; ( ※ 有効桁は正負ともに10億未満。) _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 柴垣 顕郎 akiro@xxxxxxxxxx _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
-> 11023 2005-02-21 09:45 [柴垣 <akiro@xxxxxxxx] 3桁ごとのカンマ出力 11024 2005-02-21 10:46 ┗[木下 靖文 <kinoshit] 11026 2005-02-21 13:23 ┗[柴垣 <akiro@xxxxxxxx]