2

小数点付きまたは小数点なしの数値をデータベースに格納する方法はありますか?ユーザーは1010.1などのデータベース番号に格納できます-MySQLに数値を格納するために、データ型列10進数を使用します。したがって、この例では、データベースに10.0010.10が格納されます。

ただし、ユーザーごとに正確な数の形式を保存する必要があります。したがって、この場合は01010.1です。

データベースレベルで解決することは可能ですか、それともアプリケーションレベルで編集する必要がありますか?

4

3 に答える 3

1

で利用するcase

case format(@number,0)=@number 
  when 1 then format(@number,0) 
  else 
  case format(@number,1)=@number 
    when 1 then format(@number,1) 
    else @number
  end 
end

またif

if (format(@number,0)=@number, format(@number,0),
  if (format(@number,1)=@number, format(@number,1), @number))
于 2011-09-07T09:53:49.630 に答える
0

1つの方法は、selectクエリを実行して、この先行ゼロを省略する場合です。

http://www.foscode.com/remove-trailing-zeros-mysql-decimal-fields/

于 2011-09-07T09:19:23.727 に答える
-2

ユーザーが入力したものをVARCHARとして保存するだけなので、ユーザーが入力した内容を正確に保存できます。次に、必要に応じてDBからロードし、必要に応じて対応するfloat値に解析できます。

于 2011-09-07T09:17:55.833 に答える