SQL - MSSQL

MSSQL - Tablica typów rekordów.

Dodano: 2008-10-24
Poniżej przedstawiam nazwy typów danych mogących być przechowywanych w bazie MSSQL.

Integers

bigint 8 B Liczby całkowite z przedziału od –2^63 (–9,223,372,036,854,775,808) do 2^63–1 (9,223,372,036,854,775,807).
int 4 B Liczby całkowite z przedziału od –2^31 (–2,147,483,648) do 2^31 – 1 (2,147,483,647).
smallint 2 B Liczby całkowite z przedziału od –2^15 (–32,768) do 2^15 – 1 (32,767).
tinyint 1 B Liczby całokowite z przedziału od 0 do 255

Bit

bit 1 b Liczby całkowite przyjmujące wartości 1 lub 0.

Decimal and numeric

decimal n/a Zmienne stałej precyzji (tz. deklarujesz ile liczba będzie miała miejsc po przecinku) z przedziału od –10^38 + 1 do 10^38 – 1. Używana do przechowywania np.: cen.
numeric n/a Odpowiednik dla zmiennej decimal.

Money and smallmoney

money 8 B Zmienna przeznaczona do przechowywania wartości pieniężnych. Przyjmuje wartości z przedziału od 2^63 (–922,337,203,685,477.5808) do 2^63 –1 (+922,337,203,685,477.5807).
smallmoney 4 B Przechowuje wartości monetarne z przedziału od –214,748.3648 do +214,748.3647.

Approximate Numerics

float 8 B Zmienna przechwywyjąca liczby rzeczywiste, zwana również zmienną pojedynczej precyzji. Przyjmuje wartości z zakresu od –1.79E + 308 do –2.23E – 308, 0 i 2.23E + 308 do 1.79E + 308.
real 4 B Zmienna przechowywująca zmienne typu rzeczywistego, z zakresu od –3.40E + 38 do –1.18E – 38, 0 i 1.18E – 38 do 3.40E + 38.

Datetime and smalldatetime

datetime 8 B Zmienna przechowywująca datę oraz czas. Dla daty przyjmuje wartości od stycznia 1, 1753 do grudnia 31, 9999, oraz czas do 3,33 milisekund.
smalldatetime 4 B Podobnie jak zmienna datetime przechowuje czas i datę. Zakres to styczeń 1, 1900 do czerwiec 6, 2079, oraz czas z dokładnością do minuty.

Character string

char[n] n Rekord o ustalonej długości, zmienna przechowuje znaki non–Unicode. Wartość n to 1 do 8,000 b.
varchar[n] n Rekord o zmiennej długości, zmienna ta przechowuje znaki non–Unicode. Wartość n jest z zakresu 1 do 8 000 b. Domyślna długość n to 1.
text n Rekord o zmiennej długości przechowywujący znaki non–Unicode. Maksymalna pojemność to n <= 2,147,483,647 b.

Unicode Character String

nchar [n] n Rekord o stałej długości, przechowuje dane typu Unicode. Minimalna długość to 1 a maksymalna to 4,000 b.
nvarchar[n] n Rekord o zmiennej długości, przechowuje dane typu Unicode. Minimalna wartość n to 1, maksymalna to 4,000 b.
ntext n Rekord o zmiennej długości, przechowuje dane typu non–Unicode. Maksymalna długość n to 2,147,483,647 b.

Binary Strings

binary[n] n Rekord o stałej długości, przechowywujący dane w formacie binarnym. Wartość n jest z zakresu 1 do 8,000. Wielkość to n+4 bity.
varbinary[n] n Rekord o zmiennej długości, przechowywujący dane w formacie binarnym. Wartość n jest z zakresu 1 do 8,000. Wielkość to n+4 bity.
image n Rekord o zmiennej długości, przechowywujący dane binarne. Wartości n to 0 do 2,147,483,647 b.

Other Data Types

cursor n/a Typ przechowywujący zmienne lub procedury. Każda zmienna tworzona przez curosr ma wartość null. Zmienna ta nie może być użyta do tworzenia typu kolumny w czasie generowania tabeli.
table n/a Specjalna zmienna do przechowywania wartoćsi uzyskanych w czasie działania funkcji MSSQL. Innymi słowy rezultatów działania jakiś procesów.
sql_variant n Zmienna ta przechowywuje wartości liczbowe, binare oraz tekstowe. Może być użyta do towrzenia kolumn, parametrów jak i również zmiennych. Maksymalna wielkość to 8016 b.
timestamp 8 B Specjalna zmienna przechowywująca unikalny numer dla wiersza tabeli. Numer ten ulega zmiania w czasie każdej aktualizacji. Zmienna ta przechowywuje wartości binarne.
uniqueidentifier n/a Zwane globalnym unikatowym numerm, możesz się spotkać z określenim GUID. Przechowuje wartośi binarne.

Legenda:
n/a - nie podaje przybliżonych wielkości zmiennych, ponieważ nie posiadam tych wartości z pewnego "miejsca".

Źródła:
msdn - microsoft
i nie tylko ;-)