Відповіді:
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 цифр. Ваша робота - думати про те, що достатньо.