MySQLについての質問です。

金額などをDBに入力する際は、カンマなどをつけないで入れたほうがよいのでしょうか?
表示する際に必要なので出来ればつけたいのですが・・・

カンマを入れるとWHERE文でいくら以上のものと言う形で抽出する場合にうまく抽出できません。

カンマ付で金額を比較する場合はどの様にしたらよいのでしょうか?

回答の条件
  • 1人5回まで
  • 登録:2007/01/05 20:32:27
  • 終了:2007/01/05 21:52:47

ベストアンサー

id:Nara-Chan No.1

Nara-Chan回答回数186ベストアンサー獲得回数12007/01/05 20:51:07

ポイント35pt

MySQL に限らずですが、通常データベースに金額などを格納する場合は、純粋に「数字のみ」を格納します。

そして表示する時に書式指定して、カンマを挿入します。

たとえば PHP では money_format 関数を使います。

http://php.net.pl/manual/ja/function.money-format.php

id:black_kenchan

有難うございました。

number_format関数を使って解決しそうです。

とても、参考になりました。

2007/01/05 21:51:47

その他の回答(1件)

id:Nara-Chan No.1

Nara-Chan回答回数186ベストアンサー獲得回数12007/01/05 20:51:07ここでベストアンサー

ポイント35pt

MySQL に限らずですが、通常データベースに金額などを格納する場合は、純粋に「数字のみ」を格納します。

そして表示する時に書式指定して、カンマを挿入します。

たとえば PHP では money_format 関数を使います。

http://php.net.pl/manual/ja/function.money-format.php

id:black_kenchan

有難うございました。

number_format関数を使って解決しそうです。

とても、参考になりました。

2007/01/05 21:51:47
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402007/01/05 21:37:53

ポイント35pt

1番の方に同意。

基本的にはDBのレベルではカンマは入れない。

入れてしまうと数字ではなく文字列での比較しか出来ないので、

"200" > "1,000" なんてことになってしまう。

DBでは数字として扱い、表示の時点でカンマをつけるようにフォーマットする。

大抵の言語で金額表示用のライブラリ等は存在するのでそれを利用する。


例外として会計のように莫大な金額を扱う場合は数値型を使用しない場合もあるが、それはカンマの問題とは別の問題。

id:black_kenchan

どうも有難う御座いました。

参考になりました。いつも有難うございます。

2007/01/05 21:52:35

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません