Typy liczbowe
W przypadku niektórych typów danych, możliwe jest określenie maksymalnej liczby wyświetlanych znaków - będziemy ją zaznaczać literą M. Ta liczba może być opcjonalna, wtedy znajduje się w nawiasach kwadratowych: [M]. Największa dopuszczalna wartość parametru M wynosi 255.
Możemy wyróżnić typy liczbowe:
- liczby całkowite - na przykład 2, 5, -2, 233, itp. Ten typ można zawęzić do liczb nieujemnych - UNSIGNED. W zestawieniu liczb całkowitych pokazanych w tabeli, zakres po słowie lub odpowiada zastosowaniu tego właśnie atrybutu;
- liczby zmiennoprzecinkowe - są to liczby rzeczywiste, przy czym jest możliwość zadeklarowania liczby cyfr po przecinku (a dokładnie po kropce, którą będziemy stosować zamiast przecinka). W tabelach poniżej, liczba ta jest oznaczona symbolem D. Maksymalnie parametr D może przyjąć wartość 30, przy czym nie może być większy od M - 2. Skąd wzięła się liczba 2? Stąd, że liczbę wszystkich znaków musimy pomniejszyć o znak kropki i przynajmniej jeden znak liczby całkowitej;
Do wszystkich typów, można zastosować parametr ZEROFILL powodujący wypełnienie zerami miejsc poprzedzających liczbę - np. 04. Tak zdefiniowana kolumna, automatycznie przyjmuje typ UNSIGNED.
Typ | Zakres liczb |
Zajmuje bajtów pamięci |
Opis |
---|---|---|---|
TINYINT[(M)] lub BIT lub BOOL |
-127..128 lub 0..255 | 1 | Bardzo małe liczby całkowite |
SMALLINT[(M)] | -32768..32767 lub 0..65535 | 2 | Małe liczby całkowite |
MEDIUMINT[(M)] |
-8388608..8388607 lub 0..16777215 |
3 | Średnie liczby całkowite |
INT[(M)] lub INTEGER[(M)] |
-231..231-1 lub 0..232-1 |
4 | Liczby całkowite |
BIGINT[(M)] |
-263..263-1 lub 0..264-1 |
8 | Duże liczby całkowite |
Typ | Zakres liczb |
Zajmuje bajtów pamięci |
Opis |
---|---|---|---|
FLOAT(precyzja) | Zależnie od precyzji | różny | Liczby zmiennoprzeconkowe o pojedynczej lub podwójnej precyzji |
FLOAT[(M, D)] |
±1.175494351E-38 ±3.402823466E+38 |
4 | Liczby zmiennoprzecinkowe pojedynczej precyzji. Ten typ jest równoznaczny z FLOAT(4), pozwala dodatkowo określić liczbę wyświetlanych cyfr i liczbę cyfr po przecinku. |
DOUBLE[(M, D)] lub DOUBLE PRECISION[(M, D)] lub REAL[(M, D)] |
±1.7976931348623157E-308 ±2.2250738585072014E+308 |
8 | Liczby zmiennoprzecinkowe podwójnej precyzji. Ten typ jest równoznaczny z FLOAT(8), pozwala dodatkowo określić liczbę wyświetlanych cyfr i liczbę cyfr po przecinku. |
DECIMAL[(M[, D])] lub MUMERIC[(M, D)] lub DEC[(M, D)] lub FIXED[(M, D)] |
Różny | M+2 | Liczba zmiennoprzecinkowa, przechowywana jako zmienna typu CHAR. Zakres zależy od wartości M - liczby wyświetlanych znaków. |