sql >> データベース >  >> RDS >> Mysql

mysqlでは2つの等しい値の減算はゼロではありません

    これは、おおよその精度として知られています 。これはエラーではありません。浮動小数点 データ型はそのように機能することを目的としています。データを正確に保存することはできません。したがって、それが重要な場合は、 DECIMAL MySQLで。

    一方、浮動小数点の比較には、次のようにいつでも高精度デルタを使用できます。

    SELECT 
      `foo`,
      `bar`,
      IF(ABS(`foo`-`bar`)<1E-13, 0, `foo`-`bar`) AS zero_compared
    FROM
     t
    

    ご覧のとおり、ここでのデルタは1E-13です。 (通常はそれで十分です)



    1. 「警告:sl_tableとpg_classの間に不一致が見つかりました。」 Slony-Iで

    2. MySQLstr_to_dateの問題

    3. Joomlaで使用されるMySQLドライバーを変更します

    4. C#MySqlParameterの問題