是否存在任何方式在数据库中存储带或不带小数点的数字?用户可以将数字存储到数据库中,例如10和10.1 - 为了在 MySQL 中存储数字,我使用数据类型列decimal,因此对于本示例,数据库中将存储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,这样您就可以准确存储他们输入的内容。然后在需要的时候,可以从DB中加载,根据需要解析成对应的float值。