Microsoft SQL Server
Typy danych
Szukaj…
Wprowadzenie
W tej sekcji omówiono typy danych, których może używać SQL Server, w tym ich zakres danych, długość i ograniczenia (jeśli występują).
Dokładna numeracja
Istnieją dwie podstawowe klasy dokładnych typów danych liczbowych - liczba całkowita oraz stała precyzja i skala .
Typy danych całkowitych
- kawałek
- tinyint
- smallint
- int
- bigint
Liczby całkowite to wartości liczbowe, które nigdy nie zawierają części ułamkowej i zawsze używają stałej ilości pamięci. Zakres i rozmiary pamięci całkowitych typów danych pokazano w poniższej tabeli:
Typ danych | Zasięg | Przechowywanie |
---|---|---|
kawałek | 0 lub 1 | 1 bit ** |
tinyint | Od 0 do 255 | 1 bajt |
smallint | -2 ^ 15 (-32768) do 2 ^ 15-1 (32767) | 2 bajty |
int | -2 ^ 31 (-2 147 483 648) do 2 ^ 31-1 (2 147 483 647) | 4 bajty |
bigint | -2 ^ 63 (-9 223 372,036,854,775,808) do 2 ^ 63-1 (9,223,372,036,854,775,807) | 8 bajtów |
Naprawiono typy danych precyzji i skali
- numeryczny
- dziesiętny
- smallmoney
- pieniądze
Te typy danych są przydatne do dokładnego przedstawiania liczb. Dopóki wartości mieszczą się w zakresie wartości przechowywanych w typie danych, wartość nie będzie mieć problemów z zaokrąglaniem. Jest to przydatne w przypadku wszelkich obliczeń finansowych, w których błędy zaokrąglania spowodują obłęd kliniczny dla księgowych.
Pamiętaj, że dziesiętny i numeryczny są synonimami tego samego typu danych.
Typ danych | Zasięg | Przechowywanie |
---|---|---|
Dziesiętny [(p [, s])] lub Numeryczny [(p [, s])] | -10 ^ 38 + 1 do 10 ^ 38-1 | Zobacz tabelę dokładności |
Podczas definiowania dziesiętnego lub liczbowego typu danych może być konieczne określenie Precyzji [p] i Skali [s].
Precyzja to liczba cyfr, które można zapisać. Na przykład, jeśli chcesz przechowywać wartości między 1 a 999, potrzebujesz Precyzji 3 (aby utrzymać trzy cyfry na 100). Jeśli nie określisz precyzji, domyślna precyzja to 18.
Skala to liczba cyfr po przecinku. Jeśli chcesz zapisać liczbę z przedziału od 0,00 do 999,99, musisz podać dokładność 5 (pięć cyfr) i skalę 2 (dwie cyfry po przecinku). Musisz określić dokładność, aby określić skalę. Domyślna skala wynosi zero.
Precyzja dziesiętnego lub liczbowego typu danych określa liczbę bajtów wymaganą do przechowywania wartości, jak pokazano poniżej:
Tabela dokładności
Precyzja | Bajty pamięci |
---|---|
1 - 9 | 5 |
10–19 | 9 |
20–28 | 13 |
29–38 | 17 |
Pieniężne stałe typy danych
Te typy danych są przeznaczone specjalnie dla danych księgowych i innych danych pieniężnych. Te typy mają stałą Skalę 4 - zawsze zobaczysz cztery cyfry po przecinku. W przypadku większości systemów pracujących z większością walut wystarczające będzie użycie wartości liczbowej ze skalą 2. Należy pamiętać, że wraz z wartością nie są przechowywane informacje o rodzaju reprezentowanej waluty.
Typ danych | Zasięg | Przechowywanie |
---|---|---|
pieniądze | -922,337,203,685,477,5808 do 922,337,203,685,477,5807 | 8 bajtów |
smallmoney | -214,748.3648 do 214 448,3647 | 4 bajty |
Przybliżona liczba
- float [( n )]
- real
Te typy danych są używane do przechowywania liczb zmiennoprzecinkowych. Ponieważ typy te są przeznaczone wyłącznie do przechowywania przybliżonych wartości liczbowych, nie należy ich stosować w przypadkach, w których błąd zaokrąglania jest niedopuszczalny. Jeśli jednak trzeba obsługiwać bardzo duże liczby lub liczby o nieokreślonej liczbie cyfr po przecinku, mogą to być najlepsze opcje.
Typ danych | Zasięg | Rozmiar |
---|---|---|
pływak | -1,79E + 308 do -2,23E-308, 0 i 2,23E-308 do 1,79E + 308 | zależy od n w tabeli poniżej |
real | -3,40E + 38 do -1,18E - 38, 0 i 1,18E - 38 do 3,40E + 38 | 4 bajty |
n tabela wartości dla liczb zmiennoprzecinkowych . Jeśli nie zostanie podana żadna wartość w deklaracji liczby zmiennoprzecinkowej, zostanie użyta wartość domyślna 53. Zauważ, że liczba zmiennoprzecinkowa (24) jest odpowiednikiem wartości rzeczywistej .
wartość n | Precyzja | Rozmiar |
---|---|---|
1-24 | 7 cyfr | 4 bajty |
25–53 | 15 cyfr | 8 bajtów |
Data i godzina
Te typy są we wszystkich wersjach SQL Server
- datetime
- smalldatetime
Te typy są we wszystkich wersjach SQL Server po SQL Server 2012
- data
- datetimeoffset
- datetime2
- czas
Ciągi znaków
- zwęglać
- Varchar
- tekst
Ciągi znaków Unicode
- nchar
- nvarchar
- tekst
Ciągi binarne
- dwójkowy
- varbinary
- wizerunek
Inne typy danych
- kursor
- znak czasu
- hierarchyid
- unikalny identyfikator
- zmienna_sql
- xml
- stół
- Typy przestrzenne