Suche…


Einführung

In diesem Abschnitt werden die Datentypen beschrieben, die SQL Server verwenden kann, einschließlich deren Datenbereich, Länge und Einschränkungen (falls vorhanden)

Genaue Numerik

Es gibt zwei grundlegende Klassen für genaue numerische Datentypen - Integer und Fixed Precision und Scale .

Ganzzahlige Datentypen

  • bisschen
  • Winzige
  • smallint
  • int
  • Bigint

Ganzzahlen sind numerische Werte, die niemals einen Bruchteil enthalten und immer eine feste Speichermenge verwenden. Der Bereich und die Speichergrößen der Ganzzahldatentypen sind in dieser Tabelle dargestellt:

Datentyp Angebot Lager
bisschen 0 oder 1 1 bit **
Winzige 0 bis 255 1 Byte
smallint -2 ^ 15 (-32.768) bis 2 ^ 15-1 (32.767) 2 Bytes
int -2 ^ 31 (-2.147.483.648) bis 2 ^ 31-1 (2.147.483.647) 4 Bytes
Bigint -2 ^ 63 (-9.223.372.036.854.775,808) bis 2 ^ 63-1 (9.223.372.036.854.775.807) 8 Bytes

Fixed Precision und Scale Datentypen

  • numerisch
  • Dezimal
  • kleines geld
  • Geld

Diese Datentypen sind nützlich, um Zahlen genau darzustellen. Solange die Werte in den Bereich der Werte passen können, die im Datentyp gespeichert werden können, hat der Wert keine Rundungsprobleme. Dies ist nützlich für alle Finanzberechnungen, bei denen Rundungsfehler bei Buchhaltern zu klinischem Wahnsinn führen.

Beachten Sie, dass Dezimal und Numerisch Synonyme für denselben Datentyp sind.

Datentyp Angebot Lager
Dezimal [(p [, s])] oder Numerisch [(p [, s])]] -10 ^ 38 + 1 bis 10 ^ 38 - 1 Siehe Präzisionstabelle

Bei der Definition eines dezimalen oder numerischen Datentyps müssen Sie möglicherweise die Genauigkeit [p] und die Skala [s] angeben.

Präzision ist die Anzahl der Ziffern, die gespeichert werden können. Wenn Sie beispielsweise Werte zwischen 1 und 999 speichern müssen, benötigen Sie eine Genauigkeit von 3 (um die drei Ziffern in 100 zu halten). Wenn Sie keine Genauigkeit angeben, ist die Standardgenauigkeit 18.

Skala ist die Anzahl der Stellen nach dem Dezimalpunkt. Wenn Sie eine Zahl zwischen 0,00 und 999,99 speichern müssen, müssen Sie eine Genauigkeit von 5 (fünf Stellen) und eine Skala von 2 (zwei Stellen nach dem Dezimalzeichen) angeben. Sie müssen eine Genauigkeit angeben, um eine Skala festzulegen. Die Standardskala ist Null.

Die Genauigkeit eines dezimalen oder numerischen Datentyps definiert die Anzahl der zum Speichern des Werts erforderlichen Bytes (siehe unten):

Präzisionstabelle

Präzision Speicherbytes
1 - 9 5
10-19 9
20-28 13
29-38 17

Monetäre feste Datentypen

Diese Datentypen sind speziell für Buchhaltungs- und andere monetäre Daten vorgesehen. Diese Typen haben eine feste Skala von 4 - Sie sehen immer vier Stellen nach der Dezimalstelle. Für die meisten Systeme, die mit den meisten Währungen arbeiten, reicht es aus, einen numerischen Wert mit einer Skala von 2 zu verwenden. Beachten Sie, dass mit dem Wert keine Informationen zum dargestellten Währungstyp gespeichert werden.

Datentyp Angebot Lager
Geld -922.337.203,685,477,5808 bis 922,337,203,685,477,5807 8 Bytes
kleines geld -214,748,3648 bis 214,748,3647 4 Bytes

Ungefähre Numerik

  • Float [( n )]
  • echt

Diese Datentypen werden zum Speichern von Gleitkommazahlen verwendet. Da diese Typen nur annähernd numerische Werte enthalten sollen, sollten diese nicht in Fällen verwendet werden, in denen Rundungsfehler nicht akzeptabel sind. Wenn Sie jedoch mit sehr großen Zahlen oder Zahlen mit einer unbestimmten Anzahl von Nachkommastellen umgehen müssen, sind diese möglicherweise die beste Option.

Datentyp Angebot Größe
schweben -1,79E + 308 bis -2,23E-308, 0 und 2,23E-308 bis 1,79E + 308 hängt von n in der Tabelle unten ab
echt -3,40E + 38 bis -1,18E - 38, 0 und 1,18E - 38 bis 3,40E + 38 4 Bytes

n Wertetabelle für Float- Nummern. Wenn in der Deklaration des Gleitkommas kein Wert angegeben ist, wird der Standardwert 53 verwendet. Beachten Sie, dass Float (24) einem realen Wert entspricht.

n Wert Präzision Größe
1-24 7 Ziffern 4 Bytes
25-53 15 Ziffern 8 Bytes

Datum und Uhrzeit

Diese Typen sind in allen Versionen von SQL Server enthalten

  • Terminzeit
  • Kleinzeit

Diese Typen sind in allen Versionen von SQL Server nach SQL Server 2012 enthalten

  • Datum
  • datetimeoffset
  • datetime2
  • Zeit

Zeichenketten

  • verkohlen
  • Varchar
  • Text

Unicode-Zeichenfolgen

  • nchar
  • nvarchar
  • ntext

Binäre Zeichenfolgen

  • binär
  • varbinary
  • Bild

Andere Datentypen

  • Mauszeiger
  • Zeitstempel
  • Hierarchieid
  • eindeutige Kennung
  • sql_variant
  • xml
  • Tabelle
  • Räumliche Typen


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow