Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да използвам MySQL DECIMAL?

ДВОЙНИ колонине същите като DECIMAL колоните и виеще имате проблеми ако използвате ДВОЙНИ колони за финансови данни.

DOUBLE всъщност е само версия с двойна точност (64 бита вместо 32 бита) на FLOAT . Числата с плаваща запетая са приблизително представяне на реални числа и не са точни. Всъщност прости числа като 0.01 нямат точно представяне в типове FLOAT или DOUBLE.

DECIMAL колоните са точни представяния, но заемат много повече място за много по-малък диапазон от възможни числа. За да създадете колона, която може да съдържа стойности от 0,0001 до 99,9999, както поискахте, ще ви трябва следното изявление

CREATE TABLE your_table
(
    your_column DECIMAL(6,4) NOT NULL
);

Дефиницията на колоната следва формата DECIMAL(M, D), където M е максималният брой цифри (прецизността ) и D е броят на цифрите вдясно от десетичната запетая (мащабът ).

Това означава, че предишната команда създава колона, която приема стойности от -99,9999 до 99,9999. Можете също да създадете колона UNSIGNED DECIMAL, варираща от 0,0000 до 99,9999.

Като пример, ако искате колона, която приема стойности от -9999,99 до 9999,99, командата ще бъде DECIMAL(6,2) . Както можете да видите, все още използвате прецизност от 6, но позволяват само скала от 2.

За повече информация относно MySQL DECIMAL официалните документи винаги са страхотен ресурс.

Имайте предвид, че цялата тази информация е вярна за версии на MySQL 5.0.3 и по-нови. Ако използвате предишни версии, наистина трябва да надстроите.

Актуализация на MySQL 8.0.17+

Неподписан е отхвърлен за колони FLOAT, DOUBLE и DECIMAL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Neo4j - Изтриване на връзка с помощта на Cypher

  2. Динамичен избор на колона в MySQL

  3. Вложени класове - CustomRowMapper !! Вече не е проблем!! - Част 2

  4. Излезте от MySQL, без да се рестартира на El Capitan

  5. свързване на една и съща таблица два пъти в различни колони