0

私が初心者の頃、日々の経費を保存する Web サイトを開発し、その経費を varchar として保存していました。今、私はデータベースの構造(内部に数千のデータをすべて含む)を10進数に変更したいだけです(これが通貨を保存する最良の方法であることがわかりました)。私の質問は、すべての経費データはそのままですか? それとも何かを壊しますか?

4

2 に答える 2

3

階層化されたアプローチをお勧めします:

  • データベース構造を変更し、10 進数フィールドを追加します。
  • データベースからデータを選択して、選択したプログラミング言語に変換します。
  • 言語でデータを変換し、SQL スクリプトを記述して挿入 (または直接挿入) します。
  • VARCHAR フィールドを削除する
  • DECIMAL フィールドの名前を VARCHAR フィールドの名前に変更します。
于 2013-04-11T19:06:13.227 に答える
1

何千枚あるかにもよるけど…?定数の小数 (たとえば、常に 2 つの小数) がある場合は、タイプをdecimal(8,2)6 つの整数と 2 つの小数に変更できます。データの小数が 2 未満の場合は 2.1 => 2.10ですが、小数が 2 を超える場合は2.118 => 2.11となりますので、注意してください。

CAST テストを行ってください。この質問を読みたいと思うかもしれません: Problem convert column values from VARCHAR(n) to DECIMAL

于 2013-04-11T19:12:41.167 に答える