投稿者 魔界の仮面弁士  (社会人) 投稿日時 2011/6/8 16:14:06
> SQL文中でのデータの整形について質問させてください。
SQL は、各社の「方言」があります。
使用しているデータベースは何ですか? また、そのバージョンは?

> Format関数
Format 関数を持つデータベースとしては、
MySQL や JET(Access)などがありますね。

> 売上区分・・・int型
> 数量・・・bigint型
int / bigint 型を持つデータベースとしては、
MySQL、SQL Server などがありますね。

> T_請求のデータをCSV出力するときには、
データベース側で書式を整えるのではなく、ファイルへの出力時に
VB 側で Format してやれば問題無いかと。

> 数量は少数点以下2桁を表示する(少数点以下は必ず00です)。
少数 → 小数

> SQL文中でデータを整形するには
> どうすれば良いでしょうか?
Oracle なら「SELECT TO_CHAR(123456, 'FM999990.00') FROM DUAL」で『123456.00』が得られます。
「SELECT TO_CHAR(123456, 'FM999,990.00') FROM DUAL」なら『123,456.00』です。
MySQL なら「select format(123456, 2)」で『123,456.00』が得られます。
SQL Server  なら「SELECT CONVERT(varchar, CONVERT(MONEY, 123456), 1)」で『123,456.00』です。