Autor | Zpráva | ||
---|---|---|---|
Fic Profil |
#1 · Zasláno: 29. 3. 2009, 12:47:37
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 |
#2 · Zasláno: 29. 3. 2009, 13:44:18
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 |
||
Časová prodleva: 15 let
|
0