MySQL - memorizzazione di numeri con punto decimale
Domanda
esiste un modo per memorizzare nel database un numero con o senza punto decimale?L'utente può memorizzare nel database numeri come 10 e 10.1 - per memorizzare i numeri in MySQL utilizzo la colonna del tipo di dati decimale , quindi per questo esempio,nel database verranno memorizzati 10.00 e 10.10 .
Ma dovrò memorizzare la forma esatta del numero per utente, quindi in questo caso 0 10 e 10.1 .
È possibile risolverlo a livello di database o devo modificarlo a livello di applicazione?
Soluzione
fare uso su 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
o if
if (format(@number,0)=@number, format(@number,0),
if (format(@number,1)=@number, format(@number,1), @number))
Altri suggerimenti
un modo è quando si effettua la query di selezione per omettere questo zero iniziale
http://www.foscode.com/remove-trailing-zeros-mysql-decimal-fields /
Potresti semplicemente salvare qualsiasi cosa l'utente abbia inserito come VARCHAR, in modo da memorizzare esattamente ciò che ha inserito.Quindi, quando ne hai bisogno, puoi caricarlo dal DB e analizzarlo al valore float corrispondente secondo necessità.