簡體   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