sql >> Databáze >  >> RDS >> Mysql

Proč se kolo MySQL vznáší mnohem více, než se očekávalo?

Když spustíte dotaz:

SELECT * FROM some_table WHERE id = 123

Při formátování čísel s plovoucí desetinnou čárkou se spoléháte na uživatelské rozhraní. Rozhraní, které používáte, používá spíše dva znaky než více. Koneckonců, neexistují žádné informace o „správném“ čísle k zobrazení.

Rozhraní můžete přesvědčit, aby zobrazilo správné číslo, naformátováním čísla jako řetězce nebo jako desetinné číslo. Například:

select format(some_float_field, 3)

převede to na řetězec se třemi desetinnými místy. Jedno upozornění:přidá také čárky, které možná nebudete chtít. Toto by také mělo fungovat:

select cast(some_float_field as decimal(8, 3))

Všimněte si, že správnost dat můžete snadno ověřit tak, že uděláte něco jako:

select *
from some_table
where some_float_field between 1919.987 - 0.0001 and 1919.987 + 0.0001;

Všimněte si, že nechcete použít = na hodnotách s pohyblivou řádovou čárkou, ale to už chápete.



  1. Jak povolit mysqlnd pro php?

  2. Co je ISO_year na serveru SQL

  3. se nepodařilo otevřít soubor v databázi mysql

  4. Používá se Mysql utf32_unicode_ci a html znaková sada utf-8, ale objeví se znak �