小数点付きまたは小数点なしの数値をデータベースに格納する方法はありますか?ユーザーは10や10.1などのデータベース番号に格納できます-MySQLに数値を格納するために、データ型列10進数を使用します。したがって、この例では、データベースに10.00や10.10が格納されます。
ただし、ユーザーごとに正確な数の形式を保存する必要があります。したがって、この場合は010と10.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))
1つの方法は、selectクエリを実行して、この先行ゼロを省略する場合です。
http://www.foscode.com/remove-trailing-zeros-mysql-decimal-fields/
ユーザーが入力したものをVARCHARとして保存するだけなので、ユーザーが入力した内容を正確に保存できます。次に、必要に応じてDBからロードし、必要に応じて対応するfloat値に解析できます。