MySQL - 存储带小数点的数字

时间:2011-09-07 09:15:45

标签: mysql numbers decimal points

存在任何方式在数据库中存储带或不带小数点的数字?用户可以存储数据库号码,如 10 10.1 - 用于在MySQL中存储数字我使用数据类型列十进制,因此对于此示例,在数据库中将存储 10.00 10.10

但我需要按用户存储确切的数字形式 - 所以在这种情况下0 10 10.1

是否可以在数据库级别解决它,或者我必须在应用程序级别进行编辑?

3 个答案:

答案 0 :(得分: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 :(得分:0)

一种方法是当你使select查询省略这个前导零

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

答案 2 :(得分:-2)

您可以将用户输入的任何内容保存为VARCHAR,这样您就可以准确存储他们输入的内容。然后,当您需要它时,可以从DB加载它,并根据需要将其解析为相应的浮点值。