Strona główna › Pytania INF.04 › Pytanie 320
INF.04 · pytanie #320
Zastosowanie typu DECIMAL języka SQL wymaga wcześniejszego zdefiniowania długości (liczby cyfr) przed przecinkiem oraz długości cyfr po przecinku. Jest to zapis:
- Astałoprzecinkowy
- Błańcuchowym
- Czmiennoprzecinkowy
- Dlogicznym
Poprawna odpowiedź: A. stałoprzecinkowy
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Poprawnie – typ DECIMAL w SQL to typ stałoprzecinkowy. Oznacza to, że już przy definicji kolumny musisz podać dwie wartości: całkowitą liczbę cyfr (PRECISION) oraz liczbę cyfr po przecinku (SCALE), np. DECIMAL(10,2). W praktyce oznacza to, że możesz przechowywać liczby z maksymalnie 10 cyframi, z czego 2 są po przecinku, czyli zakres jest kontrolowany i przewidywalny. Moim zdaniem to jest kluczowa cecha: stała dokładność i brak „pływania” wyniku. W relacyjnych bazach danych DECIMAL jest używany wszędzie tam, gdzie pieniądze, kursy walut, stawki VAT, ilości w magazynie itp. – wszędzie, gdzie liczy się precyzja i nie można sobie pozwolić na błędy zaokrągleń typowe dla typów zmiennoprzecinkowych (FLOAT, DOUBLE). Standard SQL właśnie dla takich zastosowań przewiduje typy numeryczne dokładne (exact numeric types), do których należy DECIMAL/NUMERIC. Dobre praktyki branżowe mówią wprost: kwoty finansowe trzymaj w DECIMAL, a nie w FLOAT. Warto też wiedzieć, że DECIMAL jest przechowywany w sposób „cyfrowy”, a nie binarny jak float, więc operacje arytmetyczne dają wyniki dokładne w zadanej skali. To bardzo ułatwia raportowanie, księgowość, rozliczenia między systemami. W wielu firmach spotkasz standardy projektowe w stylu: „wszystkie kwoty w systemie mają typ DECIMAL(18,2)” albo podobny. Taki zapis daje spójność danych, przewidywalne zużycie miejsca w bazie i mniejsze ryzyko błędów biznesowych. W skrócie: DECIMAL = stałoprzecinkowy, z góry określona liczba cyfr i powtarzalne wyniki obliczeń, co w systemach produkcyjnych jest bardzo ważne.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.