Czytałem podręcznik mysql i chcę się upewnić, że dobrze rozumiem coś.
Gdybym miał DECIMAL (15,8), oznaczałoby to 6 cyfrowych przed dziesiętnym i 8 po?
Jeśli chcę przenieść się z 15,2 na 8 miejsc po przecinku, to czy powinienem przejść do 21,8, więc nie tracę żadnej precyzji?
Odpowiedzi:
2 dla odpowiedzi № 1Z dokumentacji mysql: http://dev.mysql.com/doc/refman/5.7/en/fixed-point-types.html
W deklaracji kolumny DECIMAL precyzja i skala mogą być (i zwykle są) określone; na przykład:
salary DECIMAL(5,2)
W tym przykładzie 5 to precyzja, a 2 to skala. Precyzja reprezentuje liczbę cyfr znaczących, które są przechowywane dla wartości, a skala reprezentuje liczbę cyfr, które można zapisać po przecinku dziesiętnym.
Standardowy SQL wymaga, aby DECIMAL (5,2) mógł przechowywać dowolną wartość z pięcioma cyframi i dwoma miejscami po przecinku, więc wartości, które mogą być przechowywane w kolumnie wynagrodzenia zakres od -999.99 do 999,99.