繁体   English   中英

MySQL-用小数点存储数字

[英]MySQL - storing numbers with decimal point

是否存在以某种方式在数据库中存储带或不带小数点的数字? 用户可以将1010.1之类的数据存储到数据库中-为了在MySQL中存储数字,我使用十进制数据类型列,因此在此示例中,数据库中将存储10.0010.10

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

一种方法是,当您执行选择查询以忽略此前导零时

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

您可以将用户输入的任何内容保存为VARCHAR,因此您将存储他们输入的内容。 然后,在需要时,可以从数据库中加载它,并根据需要将其解析为相应的float值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM