Blog JSystems - z miłości do programowania

Szukaj

Typy danych w MS SQL Server

W każdej kolumnie w tabeli, jak i zmiennej i parametrowi musi zostać przypisany okreslony typ danych. To właśnie on decyduduje jakie dane możemy umieścić w danym obiekcie, także wybór ten nie może być przypadkowy.


W SQL Server występuje wiele typów danych, które możemy podzielić na cztery główne kategorie:


- liczbowe


- znakowe / ciągowe (łańcuchy tekstowe)


- daty i godziny


- inne


Liczbowe


bigint -  8-bajtowy typ numeryczny z zakresem: -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807).


numeric - Wielkość typu zależy od precyzji. 1-9 – 5 bajtów, 10-19 – 9 bajtów, 20-28 – 13 bajtów, 29-38 – 17 bajtów.


bit - Wartości 0,1 lub NULL


smallint - 2-bajtowy typ numeryczny z zakresem: -2^15 (-32,768) do 2^15-1 (32,767).


decimal - Wielkość typu zależy od precyzji. 1-9 – 5 bajtów, 10-19 – 9 bajtów, 20-28 – 13 bajtów, 29-38 – 17 bajtów.


smallmoney - 4-bajtowy typ do zapisu walut z zakresem: - 214,748.3648 do 214,748.3647.


int - 4-bajtowy typ numeryczny z zakresem: -2^31 (-2,147,483,648) do 2^31-1 (2,147,483,647).


tinyint - 1-bajtowy typ numeryczny z zakresem: 0 – 255.


money - 8-bajtowy typ do zapisu walut z zakresem: -922,337,203,685,477.5808 do 922,337,203,685,477.5807.


float - Typ zmiennoprzecinkowy z zakresem: - 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308. Ilość bajtów zależy od precyzji. 1-24 – 4 bajty (7 cyfr), 25-53 – 8 bajtów (15 cyfr).


real - 4-bajtowy typ zmiennoprzecinkowy z zakresem: - 3.40E + 38 to -1.18E - 38, 0 and 1.18E - 38 to 3.40E + 38. Typ real jest 24-cyfrowym typem float.


Znakowe


char - Stało-znakowy typ o wielkości 1 – 8000 bajtów.


text - Zmienno-znakowy typ o długości max. 2^30 – 1 bajtów.


varchar - Zmienno-znakowy typ o długości 1 – 8000 bajtów.


nchar - Stało-znakowy typ Unicode o wielkości 1 – 4000 bajtów.


nvarchar- Zmienno-znakowy typ Unicode o wielkości 1 – 4000 bajtów.


ntext - Zmienno-znakowy typ Unicode o wielkości max. 2^30 – 1 bajtów


Data i czas


date - 10-znakowy typ zapisu daty z precyzją: 10.0. Domyślnym formatem jest: YYYY-MM-DD, natomiast domyślna wartość to 1900-01-01 (używana jako niejawna konwersja time do typu datetime2 albo datetimeoffset).


datetimeoffset - 8-bajtowy typ do zapisu daty z zakresu: 1 stycznia 1 roku n.e. do 31 grudnia roku 9999, liczone wg kalendarza gregoriańskiego oraz czas 24-godzinny z dokładnością do 100 ns. Uwzględnia przesunięcie strefy czasowej.


datetime2 - 8-bajtowy typ do zapisu daty z zakresu: 1 stycznia 1 roku n.e. do 31 grudnia 9999 oraz czas 24-godzinny z dokładnością do 100 ns.


smalldatetime - 4-bajtowy typ do zapisu daty z zakresu 1900-01-01 do 2076-06-06 z dokładnością do 1 minuty.


datetime - 8-bajtowy typ do zapisu daty z zakresu 1 stycznia 1753 do 31 grudnia 9999 z dokładnością do 0.00333 sekund.


time - 3 – 5-bajtowy typ do zapisu czasu z dokładnością do 100 ns. Ilość bajtów zależy od skali precyzji.


Inne


binary - Przechowywany najczęściej jako stały strumień bajtów typ o wielkości 1 – 8000 bajtów.


varbinary - Przechowywany najczęściej jako zmienny strumień bajtów typ o wielkości 1 – 8000 bajtów.


image - Zmienno-bajtowy typ o długości 0 – 2^31 – 1, przeznaczony do składowania obrazów w bazie danych.


cursor - Typ danych dla zmiennych parametrów wyjściowych procedury, które zawierają doniesienie do kursora


hierarchyid - Typ o zmiennej długości danych, służący do reprezentowania pozycji danej informacji w hierarchii.


sql_variant - Typ danych, przechowujący różne wartości typów obsługiwanych przez SQL Server. Jest odpowiednikiem typu var w języku C#.


table - Typ tabelaryczny


uniqueidentifier - Typ umożliwiający automatyczne generowanie unikalnych liczb binarnych w bazie danych


xml - Typ XML-owy


geography - Typ do przechowywania danych geograficznych, zaimplementowany w .NET CLR. Wykorzystywany jest głównie do zapisu pozycji GPS. Uwzględnia krzywiznę Ziemi.


geometry - Typ do przechowywania typów geometrycznych (w szczególności figur), zaimplementowany w .NET CLR.


 

Przyjdź do nas na szkolenie z baz danych SQL Server! Mamy szereg szkoleń w ofercie: SQL, T-SQL, tuning, administracja i wiele innych. Sprawdź dostępne szkolenia SQL Server
Zapisz się do newslettera aby otrzymywać najnowsze świeżynki pojawiające się na blogu! Zapisz się do newslettera