私は照会しようとするデータベースに小数フィールドを持っています。このフィールドはすべての種類の番号に使用されるため、2桁の通貨または異なる形式の他の通貨になります。フィールドは10進数(15,5)として設定されます。PHPとMySQL小数点以下の桁を照会する方法
したがって、通貨は4.99000のようにそこに保存することができます。小文字の区切りと10進数の区切りを示す別のテーブルに保存されている設定に従って読み上げると書式を設定します。すべてそれは問題ありませんが、私はどのようにそのような質問をしますか? "WHERE field = 4.99"は明らかにこのレコードを返さないためです。私は何をすることができますか?
UPDATE:
OK、私は若干異なる道を行かなければなりません。私は入力された番号を取り、それを配列に分割するために爆発を使用します。私は小数点の後にそれを知っています。次のステップとして、私はこのようなものについて
$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];
動作するようには思えないが、私はここで何かを監督かしらん...
「このレコードは明らかに返されません」あなたは試しましたか?それはテーブルの列のデータ型が動作する小数をサポートしています –
はい私はそれを試して、それは動作しませんでした – Luka
あなたのテーブル構造を共有します。 –