Typy danych SQL Server z przykładami
Co to jest typ danych?
A DataType w serwerze SQL definiuje się jako typ danych, które może przechowywać dowolna kolumna lub zmienna. Jest to rodzaj danych przechowywanych przez obiekt, taki jak liczba całkowita, znak, ciąg znaków itp. Tworząc dowolną tabelę lub zmienną, oprócz określenia nazwy, ustawiasz także typ danych, które będą przechowywane.
Jak używać typu danych MS SQL
- Należy wcześniej określić typ danych, jakie może przechowywać kolumna lub zmienna. Określenie typu danych uniemożliwia również użytkownikowi wprowadzanie nieoczekiwanych lub nieprawidłowych danych.
- Możesz efektywnie wykorzystać pamięć, przypisując do zmiennej lub kolumny odpowiedni typ danych, co przydzieli tylko wymaganą ilość pamięci systemowej dla danych danej kolumny.
- MS SQL oferuje szeroką kategorię podstawowych typów danych w SQL zgodnie z potrzebami użytkownika, takimi jak data, obrazy binarne itp.
Dlaczego warto używać typów danych?
Weźmy próbkę prostoty Strona rejestracji aplikacji internetowej. Trzy pola wejściowe to imię, nazwisko i numer kontaktowy.
Tutaj powinniśmy zauważyć, że w czasie rzeczywistym:
- „Imię/nazwisko” zawsze będzie alfabetyczny.
- "Kontakt" zawsze będzie numeryczna.

- Z powyższego zdjęcia warto to zdefiniować „Imię/nazwisko” jak charakter oraz "Kontakt" jako liczba całkowita.
Jest oczywiste, że w dowolnej aplikacji wszystkie pola zawierają jeden lub drugi typ danych. Np. numeryczne, alfabetyczne, daty i wiele innych.
Należy również pamiętać, że różne typy danych mają różne wymagania dotyczące pamięci. Dlatego bardziej sensowne jest zdefiniowanie kolumny lub zmienna z typem danych, który będzie przechowywał w celu efektywnego wykorzystania pamięci.
Typ danych dostępny w MS SQL Server
Oto lista typów danych serwera MS SQL:
Serwer MSSQL obsługuje następujące kategorie typów danych:
- Dokładne numeryczne
- Przybliżona liczba
- Data i czas
- Ciągi znaków
- Ciągi znaków Unicode
- Ciągi binarne
- Inne typy danych

Dokładne numeryczne typy danych w SQL
Dokładna liczba ma dziewięć typów podtypów danych w serwerze SQL.
Dokładne numeryczne typy danych
DataType | Opisy Konstrukcyjne | Dolna granica | Górna granica | Pamięć |
---|---|---|---|---|
bigint | Przechowuje liczby całkowite w podanym zakresie | −2^63 (−9,223,372 036,854,775,808 XNUMX, XNUMX XNUMX XNUMX XNUMX) | 2^63−1 (−9,223,372, 036,854,775,807) | 8 bajtów |
int | Przechowuje liczby całkowite w podanym zakresie | −2^31 (−2,147 483,648 XNUMX, XNUMX XNUMX XNUMX XNUMX) | 2^31−1 (−2,147, 483,647) | 4 bajtów |
małyint | Przechowuje liczby całkowite w podanym zakresie | −2^15 (−32,767) | 2^15 (-32,768) | 2 bajtów |
maleńki | Przechowuje liczby całkowite w podanym zakresie | 0 | 255 | 1 bajtów |
bit | Może przyjmować wartości 0, 1 lub NULL. | 0 | 1 | Kolumna 1 bajt/8 bitów |
dziesiętny | Stosowany do skalowania i liczb o stałej precyzji | −10^38+1 | 10^381-1 | 5 do 17 bajtów |
numeryczna | Stosowany do skalowania i liczb o stałej precyzji | −10^38+1 | 10^381-1 | 5 do 17 bajtów |
pieniądze | Wykorzystane dane pieniężne | −922,337 203, 685,477.5808, XNUMX XNUMX | +922,337 203, 685,477.5807, XNUMX XNUMX | 8 bajtów |
małe pieniądze | Wykorzystane dane pieniężne | -214,478.3648 | + 214,478.3647 | 4 bajtów |
Dokładne numeryczne typy danych Serwer SQL z przykładami:
zapytanie:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
Wydajność
2
Składnia
Dziesiętne (P, S)
Tutaj,
- P to precyzja
- S to skala
zapytanie:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
Wydajność
2.31
Przybliżone numeryczne typy danych w SQL
SQL Przybliżona kategoria liczbowa obejmuje wartości zmiennoprzecinkowe i rzeczywiste. Te typy danych w języku SQL są najczęściej używane w obliczeniach naukowych.
Przybliżony numeryczny typ danych
DataType | Opisy Konstrukcyjne | Dolna granica | Górna granica | Pamięć | Detaliczność |
---|---|---|---|---|---|
pływak (n) | Używany do określenia liczby o zmiennej precyzji | −1.79E+308 | 1.79E + 308 | Zależy od wartości n | 7 Digit |
real | Używany do określenia liczby o zmiennej precyzji | −3.40E+38 | 3.40E + 38 | 4 bajtów | 15 Digit |
Syntax: FLOAT [(n)]
Tutaj, n to liczba bitów używanych do przechowywania mantysy unosić się liczba w notacji naukowej. Domyślna wartość n wynosi 53.
Gdy użytkownik zdefiniuje typ danych, taki jak float, n powinna mieć wartość z zakresu od 1 do 53.
SQL Server traktuje n jako jedna z dwóch możliwych wartości. Jeśli 1<=n<=24, n jest traktowane jako 24. Jeśli 25<=n<=53, n jest traktowane jako 53.
Przykładowe zapytanie:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
Wydajność
22.1234
Typy danych daty i godziny w SQL
Przechowuje dane typu Data i godzina.
Typ danych daty i godziny
DataType | Opisy Konstrukcyjne | Rozmiar pamięci | Dokładność | Dolny zakres | Górny zakres |
---|---|---|---|---|---|
DateTime | Służy do określenia daty i godziny od 1 stycznia 1753 r. do 31 grudnia 9999 r. Ma dokładność 3.33 milisekundy. | 8 bajtów | Zaokrąglone do przyrostów 000, 003, 007 | 1753-01-01 | 9999-12-31 |
mała randka | Służy do określania daty i godziny od 1 stycznia 0001 do 31 grudnia 9999. Ma dokładność 100 nanosekund | 4 bajty, stałe | 1 minut | 1900-01-01 | 2079-06-06 |
dane | Służy do przechowywania tylko dat od 1 stycznia 0001 do 31 grudnia 9999 | 3 bajty, stałe | Dzień 1 | 0001-01-01 | 9999-12-31 |
czas | Służy do przechowywania tylko wartości czasowych z dokładnością do 100 nanosekund. | 5 bajtów | 100 nanosekund | 00:00:00.0000000 | 23:59:59.9999999 |
przesunięcie daty i godziny | Podobny do datatime, ale ma przesunięcie strefy czasowej | 10 bajtów | 100 nanosekund | 0001-01-01 | 9999-12-31 |
datagodzina2 | Służy do określania daty i godziny od 1 stycznia 0001 do 31 grudnia 9999 | 6 bajtów | 100 nanosekund | 0001-01-01 | 9999-12-31 |
Przykładowe zapytanie:
DECLARE @Datatype_Date DATE = '2030-01-01' PRINT @Datatype_Date
Wydajność
„2030-01-01”
Ciągi znaków Typy danych w SQL
Ta kategoria jest powiązana z typem postaci. Pozwala użytkownikowi zdefiniować typ danych znaku, który może mieć stałą i zmienną długość. Ma cztery rodzaje typów danych. Poniżej znajdują się ciągi znaków typów danych serwera SQL z przykładami.
Typy danych ciągów znaków
DataType | Opisy Konstrukcyjne | Dolna granica | Górna granica | Pamięć |
---|---|---|---|---|
zwęglać | Jest to ciąg znaków o stałej szerokości. Przechowuje maksymalnie 8,000 znaków. | 0 znaków | 8000 znaków | n bajtów |
Varchar | Jest to ciąg znaków o zmiennej szerokości | 0 znaków | 8000 znaków | n bajtów + 2 bajty |
Varchar (maks.) | Jest to ciąg znaków o zmiennej szerokości. Przechowuje maksymalnie 1,073,741,824 XNUMX XNUMX XNUMX znaków. | 0 znaków | 2^31 znaków | n bajtów + 2 bajty |
XNUMX | Jest to ciąg znaków o zmiennej szerokości. Przechowuje maksymalnie 2 GB danych tekstowych. | 0 znaków | 2,147,483,647 znaków | n bajtów + 4 bajty |
Przykładowe zapytanie:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
Wydajność
To jest typ danych znakowych
Ciągi znaków Unicode Typy danych w SQL
W tej kategorii przechowywany jest pełny zakres znaków Unicode korzystających z kodowania znaków UTF-16.
Typy danych ciągu znaków Unicode
DataType | Opisy Konstrukcyjne | Dolna granica | Górna granica | Pamięć |
---|---|---|---|---|
nchar | Jest to ciąg Unicode o stałej szerokości | 0 znaków | 4000 znaków | 2 razy n bajtów |
nvarchar | Jest to ciąg Unicode o zmiennej szerokości | 0 znaków | 4000 znaków | 2 razy n bajtów + 2 bajty |
ntekst | Jest to ciąg Unicode o zmiennej szerokości | 0 znaków | 1,073,741,823 znaków | 2 razy większa długość sznurka |
Przykładowe zapytanie:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
Wydajność
To jest typ danych nCharacter
Typy danych ciągu binarnego w SQL
Ta kategoria zawiera ciąg binarny o stałej i zmiennej długości.
Typy danych ciągu binarnego
DataType | Opisy Konstrukcyjne | Dolna granica | Górna granica | Pamięć |
---|---|---|---|---|
dwójkowy | Jest to ciąg binarny o stałej szerokości. Przechowuje maksymalnie 8,000 bajtów. | 0 bajtów | 8000 bajtów | n bajtów |
varbinar | Jest to ciąg binarny o zmiennej szerokości. Przechowuje maksymalnie 8,000 bajtów | 0 bajtów | 8000 bajtów | Rzeczywista długość wprowadzonych danych + 2 bajty |
obraz | Jest to ciąg binarny o zmiennej szerokości. Przechowuje maksymalnie 2 GB. | 0 bajtów | 2,147,483,647 bajtów |
Przykładowe zapytanie:
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
Wydajność
0x000C
Inne typy danych w SQL
Są to inne różne typy danych serwera SQL z opisem poniżej:
DataType | Opisy Konstrukcyjne |
---|---|
Kursor | Wynikiem jest kolumna sp_cursor_list oraz sp_describe_cursor. Zwraca nazwę zmiennej kursora. |
Wersja rzędowa | Wersja ta oznacza wiersze tabeli. |
Hierarchida | Ten typ danych reprezentuje pozycję w hierarchii |
Unikalny identyfikator | Konwersja z wyrażenia znakowego. |
Wariant_sql | Przechowuje wartości typów danych obsługiwanych przez serwer SQL. |
XML | Przechowuje dane XML w kolumnie. |
Typ geometrii przestrzennej | Reprezentuje dane w płaskim układzie współrzędnych. |
Typ geografii przestrzennej | Reprezentuje dane w układzie współrzędnych okrągłej Ziemi. |
stół | Przechowuje zestaw wyników w celu późniejszego przetworzenia. |
Interesujące fakty!
- Typ danych CHAR jest szybszy niż typ danych SQL VARCHAR podczas pobierania danych.
Podsumowanie
- Każda kolumna w tabelach definiuje swój typ danych podczas tworzenia tabeli.
- Istnieje sześć głównych kategorii i jedna inna kategoria różna. Inne różne mają dziewięć podkategorii Serwer SQL dostępne typy i rozmiary danych.