2

是否存在任何方式在数据库中存储带或不带小数点的数字?用户可以将数字存储到数据库中,例如1010.1 - 为了在 MySQL 中存储数字,我使用数据类型列decimal,因此对于本示例,数据库中将存储10.0010.10

但是我需要按用户存储数字的确切形式 - 所以在这种情况下 0 1010.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

一种方法是当您进行选择查询以省略此前导零时

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 回答