Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Lista typów danych w SQL Server 2017

Ten artykuł zawiera krótkie odniesienie do typów danych dostarczanych przez system dostępnych w programie SQL Server 2017, a także kilka podstawowych informacji, takich jak maksymalna długość w bajtach, precyzja, skala i czy typ danych dopuszcza wartość null (1 oznacza, że ​​nie ma wartości null, 0 oznacza, że ​​nie można zerować).

Dokładne wartości liczbowe

Nazwa Maksymalna długość Precyzja Skala Nullable?
duży 8 19 0 1
bit 1 1 0 1
dziesiętny 17 38 38 1
int 4 10 0 1
pieniądze 8 19 4 1
liczbowe 17 38 38 1
mały 2 5 0 1
małe pieniądze 4 10 4 1
tinyint 1 3 0 1

Przybliżone wartości liczbowe

Nazwa Maksymalna długość Precyzja Skala Nullable?
pływający 8 53 0 1
prawdziwe 4 24 0 1

Data i godzina

Nazwa Maksymalna długość Precyzja Skala Nullable?
data 3 10 0 1
data/godzina2 8 27 7 1
data i godzina 8 23 3 1
przesunięcie daty i godziny 10 34 7 1
smalldatetime 4 16 0 1
czas 5 16 7 1

Ciągi znaków

Nazwa Maksymalna długość Precyzja Skala Nullable?
znak 8000 0 0 1
tekst 16 0 0 1
varchar 8000 0 0 1

Ciągi znaków Unicode

Nazwa Maksymalna długość Precyzja Skala Nullable?
nchar 8000 0 0 1
ntext 16 0 0 1
nvarchar 8000 0 0 1

Ciągi binarne

Nazwa Maksymalna długość Precyzja Skala Nullable?
binarny 8000 0 0 1
obraz 16 0 0 1
zmienna 8000 0 0 1

Inne typy danych

Nazwa Maksymalna długość Precyzja Skala Nullable?
hierarchid 892 0 0 1
sql_variant 8016 0 0 1
geometria -1 0 0 1
geografia -1 0 0 1
sygnatura czasowa* 8 0 0 0
unikalny identyfikator 16 0 0 1
xml -1 0 0 1
nazwa systemu 256 0 0 0

* sygnatura czasowa typ danych jest synonimem rowversion typ danych. Więcej informacji znajdziesz poniżej.

Typy „kursor”, „table” i „rowversion”

Pobrałem informacje z powyższych tabel za pośrednictwem sys.types widok katalogu systemowego. Oprócz powyższych typów, dokumentacja firmy Microsoft dotycząca typów danych zawiera również kursor i stół typy, a także rowversion zamiast sygnatury czasowej .

Typ „znacznika czasu”

Microsoft zaleca, aby sygnatura czasowa składnia jest przestarzała. Zaleca się, abyśmy teraz używali rowversion zamiast sygnatury czasowej tam, gdzie to możliwe, w naszych oświadczeniach DDL.

Jednak w międzyczasie możesz zauważyć, że kolumny nadal wydają się być zdefiniowane jako sygnatura czasowa nawet jeśli wyraźnie określisz rowversion podczas ich tworzenia (przy użyciu języka Transact-SQL). Niemniej jednak Microsoft radzi, że jest to właściwa składnia, której należy używać w przyszłości.

Pamiętaj też, że sygnatura czasowa w T-SQL/SQL Server różni się od sygnatury czasowej typ danych zdefiniowany w normie ISO.

Wygląda na to, że powodem, dla którego został wycofany, jest zamieszanie, jakie wywołała jego nazwa. Microsoft przyznał to w 2007 roku i poinformował, że spróbuje rozwiązać ten problem w sposób zgodny z poprzednimi wersjami w przyszłych wydaniach.

Sprawdź własną bazę danych

Możesz pobrać informacje o typach danych dla własnych baz danych za pomocą sys.types widok systemu. Zobacz Jak zwrócić listę typów danych w SQL Server, aby uzyskać wyjaśnienie i przykłady. Uruchomienie tego widoku zwraca również wszelkie aliasy i typy zdefiniowane przez użytkownika, które znajdują się w bazie danych.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przywróć bazę danych w SQL Server 2017

  2. 6 sposobów sprawdzenia, czy tabela istnieje w SQL Server (przykłady T-SQL)

  3. Data obsługi w SQL Server

  4. SQL Server (TSQL) - Czy możliwe jest równoległe wykonywanie instrukcji EXEC?

  5. Jak uzyskać różnicę między dwoma wierszami dla pola kolumny?