Autor Zpráva
Fic
Profil
Ahoj,

mám následující problém - v databázi mám id typu float. Pokud zadám do databáze tento dotaz:

$query = 'SELECT * FROM plants WHERE plant_id IN (2355, 2324.1, 967.1, 505, 37.1)';


najde to jen polozky, kde plant_id je celé číslo... Jak to zadat správně?

Díky.
TomášK
Profil
Porovnávání floatů na rovnost je dost ošidné - občas se nechová jak by člověk čekal. Zvaž, jestli můžeš použít DECIMAL, pokud ne, pak to porovnánej přes intervaly, viz příklad:
SELECT i, SUM(d1) AS a, SUM(d2) AS b FROM t1 GROUP BY i HAVING ABS(a - b) <= 0.0001;

převzatý ze dokumentace MySQL, kde se tím zabývají:
http://dev.mysql.com/doc/refman/5.0/en/problems-with-float.html

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: