Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Co się dzieje z platformą MySQL?

Kiedy mnożysz przez 1 , wynik jest konwertowany na DOUBLE . Ma to większą precyzję, dzięki czemu można zobaczyć błąd w przybliżeniu dziesiętnym. Możesz zobaczyć to samo, przypisując FLOAT kolumna do DOUBLE kolumna.

CREATE TABLE `my_table` (
  `my_float_col` float,
  `my_double_col` double
);
INSERT INTO my_table (my_float_col) values (1.2355);
UPDATE my_table SET my_double_col = my_float_col;
SELECT my_float_col, my_double_col, my_float_col * 1 FROM my_table;
+--------------+--------------------+--------------------+
| my_float_col | my_double_col      | my_float_col * 1   |
+--------------+--------------------+--------------------+
|       1.2355 | 1.2354999780654907 | 1.2354999780654907 |
+--------------+--------------------+--------------------+

Nie jestem do końca pewien, dlaczego zwraca DOUBLE z mnożenia, ponieważ dokumentacja mówi:

Ale jasne jest, co się dzieje.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Wbudowany JSON a tabela

  2. Migracja bazy danych Oracle do MySQL na AWS, część 2

  3. JSON_TYPE() – Uzyskaj typ wartości JSON w MySQL

  4. Jak działa wstrzykiwanie SQL i jak się przed nim chronić?

  5. PHP MySQL - Co 6 wierszy wstawiasz div?