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

MySQL větší nebo rovno operátor ignoruje svou povinnost nebo rovnou povinnost

mějte na paměti, že float je chybný datový typ, pokud jde o přesnost. Pokud zastupujete 12 jako float, dostanete 11.99999999999998 nebo tak něco.

'38.03' lze převést na desítkové nebo jiný datový typ, který je přesnější (v závislosti na RDBMS, zde jsem obecný) a bude se lišit od plovoucí hodnoty.

plovák je 32 bit, nízká přesnost. Double funguje mnohem lépe, je to 64bitový datový typ. Desítkový datový typ v některých systémech jsou 128bitové číselné datové typy pro ukládání velmi přesných číselných hodnot a obvykle se používají pro označení peněz.

A přeskočte zvyk porovnávat pomocí = operátor float hodnoty. Float se používají pro přibližné a rychlé výpočty a pro kontrolu hodnoty float je přijatelné pouze srovnání s rozsahem. . To platí v podstatě pro každý jednotlivý systém.



  1. Zálohujte své databáze MySQL

  2. Hromadný sběr PL/SQL s doložkou LIMIT v databázi Oracle

  3. Operace s neúplnými daty v MYSQL

  4. Minimální GRANTy potřebné pro mysqldump pro dumping úplného schématu? (Spouštěče chybí!!)