Відповіді:
DECIMAL(18,0)
дозволить 0 цифр після десяткової коми.
Використовуйте щось DECIMAL(18,4)
натомість, що має робити чудово!
Це дає вам загалом 18 цифр , 4 з яких після десяткової точки (і 14 перед десятковою комою).
decimal(4,2)
дозволяє 2 цифри до і 2 цифри після коми. "4.5" можна зберігати без проблем - і за чисельністю "4.5" і "4.50" однакові
varchar
для зберігання десяткового значення !!
Ви повинні використовувати наступне:
DECIMAL(m,a)
m
- кількість загальних цифр, які може мати ваш десятковий номер.
a
- максимальна кількість цифр, яку ви можете мати після десяткової крапки.
http://www.tsqltutorials.com/datatypes.php містить описи всіх типів даних.
Налаштування - Decimal
це його точність і масштаб або звичайною мовою, скільки цифр може мати число і скільки цифр ви хочете мати праворуч від десяткової коми.
Отже, якщо ви введете PI
його, Decimal(18,0)
це буде записано як 3
?
Якщо ви помістите PI
його, Decimal(18,2)
це буде записано як 3.14
?
Якщо ви поставите PI
в Decimal(18,10)
записується як 3.1415926535
.
Більшу частину часу я використовую десятковий (9,2), який займає найменше сховища (5 байт) у десятковому типі sql.
Точність => Байти для зберігання
Він може зберігати від 0 до 9 999 999,99 (7 знаків напередодні + 2 цифри за десятковою точкою = загальна 9 цифра), що досить велике для більшості значень.
У MySQL DB decimal(4,2)
дозволяє вводити лише 4 цифри. Як ви бачите в decimal(4,2)
, це означає, що ви можете ввести 4 цифри, з яких дві цифри призначені для зберігання після десяткових знаків.
Отже, якщо ви введете 100.0 в базу даних MySQL, це покаже помилку типу "Значення поза діапазоном для стовпця".
Отже, ви можете ввести лише в цей діапазон: з 00.00 до 99.99.
Інші відповіді вірні. Припустимо, що ваші приклади відображають повний спектр можливостей DECIMAL(3, 1)
. Або DECIMAL(14, 1)
дозволить загалом 14 цифр. Ваша робота - думати про те, що достатньо.