Blog JSystems - uwalniamy wiedzę!

Szukaj

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.

 

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...