Abfrage Ich habe ein Dezimalfeld in der Datenbank, die ich abfragen. Das Feld wird für alle Arten von Zahlen verwendet, also könnte es eine Währung mit 2 Ziffern oder etwas anderes mit einem anderen Format sein. Das Feld ist als Dezimalzahl (15,5) eingerichtet.PHP und MySQL, wie dezimal Spalte
So könnte eine Währung drin wie 4.99000 gespeichert werden und ich formatiere es, wenn ich es nach einer Einrichtung ausspare, die in einer anderen Tabelle gespeichert wird, die mir die Dezimalstellen und das Dezimaltrennzeichen mitteilen wird. Alles in Ordnung, aber wie würde ich so etwas abfragen? Denn "WHERE field = 4.99" wird diesen Datensatz natürlich nicht zurückgeben. Irgendwelche Vorschläge, was ich tun könnte?
UPDATE:
OK, muss ich einen etwas anderen Weg gehen. Ich nehme die eingegebene Nummer und benutze explodieren, um es in ein Array zu teilen. Das weiß ich nach dem Komma. Ich habe 5 Zahlen, um einen nächsten Schritt, den ich
$numericValue = explode($myFormat['decimalseparator'], $value) // could be a . or a ,
$newValue = str_pad($numericValue[1], 5, "0", STR_PAD_RIGHT) ;
$dbValue = $numericValue[0].'.'.$numericValue[1];
Es verwenden scheint, zu arbeiten, aber ich frage mich, ob ich hier etwas beaufsichtigen ...
'wird diesen Datensatz natürlich nicht zurückgeben 'Hast du es versucht? es der Datentyp der Tabellenspalte unterstützt Dezimal, das funktioniert –
ja ich habe es versucht und es hat nicht funktioniert – Luka
teilen Sie Ihre Tabellenstruktur. –