[英]MySQL - storing numbers with decimal point
是否存在以某种方式在数据库中存储带或不带小数点的数字? 用户可以将10和10.1之类的数据存储到数据库中-为了在MySQL中存储数字,我使用十进制数据类型列,因此在此示例中,数据库中将存储10.00和10.10 。
但是我需要按用户存储数字的确切形式-因此在这种情况下为0 10和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))
一种方法是,当您执行选择查询以忽略此前导零时
http://www.foscode.com/remove-trailing-zeros-mysql-decimal-fields/
您可以将用户输入的任何内容保存为VARCHAR,因此您将存储他们输入的内容。 然后,在需要时,可以从数据库中加载它,并根据需要将其解析为相应的float值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.