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.
Typy danych SQL Server
Przykład typów danych w MS SQL
  • 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
Typ danych dostępny w MS SQL Server

Typy danych MSSQL

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.