なぜなpostgresql店舗スタマサポートに対するコミットメントのfloat値?
-
12-09-2019 - |
質問
ようにしているPHPの浮動小数点値63.59072952118762入をdouble精度でカラムにpostgres.Postgres店舗としての価値63.59073.なんだろうけど、日本人はなぜなのか?8バイトの必要がなければならないかを指します。また、データタイプの数値は、作品を指定する場合の精度が高い本当に必要になります。
更新: 同じような問題が存在しようとした場合に店63.5907295を提案することのダブル前で得格納されるようリアルに再現。●
更新II(ある):行っ割り当てのdoubleパラメータは以下のようなものです:
$stmt->bindParam(4, $this->latitude);
ものを知らなかったのはPDOデフォルトは、paramタイプを文字列になります。っPDO::INT PARAMが不足しつつ、より良い代替(PARAMダブルませんでしたオプション)、10桁の精度のダブルに格納postgres(一部の進歩は、少なくとも).私は次の数値タイプの作品となっているものとする数字は利用の場合PDOと兼ねることに対して精度の10以上である.
と思うが、どうか分かりませんので、なんでこのような精度が高いと思い、問題自体敬要であることを説明しました。
解決
- いかPostgreSQLの保管?
- いデータを送信しPostgreSQL?
- からのデータを返す。
- いう表示です。
- どのタイプは、列のデータベース?
多いので、多くの場所の間でPHPとPostgreSQLが見える混乱などのデータです。
で説明する必要があり方のデータが挿入されDBMS.をリテラル値は、INSERTステートメントが異なる設定の問題から行きます。また、値のSQL:
INSERT INTO SomeTable(SomeColumn) VALUES(63.xxxxxxxxx);
のデータは切り捨ている問題にPostgreSQL.の場合を結びつける変数は、必ずかPHPのPDO PostgresSQLモジュールの価値はお送りいたしましたdoubleとして、または文字列として、コードに変換です。
りませ類似の問題Perl+DBI+DBD::YourDBMS(DBD::Pgに例)です。