Datentyp für Mark SQL. In SQL Server verwendete Datentypen

In der modernen Welt gibt es eine Vielzahl von Werkzeugen und Technologien zum Speichern von Informationen. Eine der gebräuchlichsten Methoden sind Datenbanken, für deren Arbeit verschiedene Managementsysteme eingesetzt werden. Diese Speichermethode setzt voraus, dass alle Daten klar strukturiert und in spezielle Tabellen eingetragen werden. Sie bestehen wiederum aus Attributspalten eines bestimmten Datentyps.

Datentyp – was ist das?

Heutzutage gibt es mehrere Definitionen, die das Konzept des Begriffs „Datentyp“ erklären. Jeder von ihnen hat jedoch eine allgemeine Bedeutung. Daher kann es konventionell als eine Gruppe von Daten definiert werden, die durch ihre Werte (symbolisch, numerisch usw.) sowie die auf die betreffenden Werte angewendeten Operationen gekennzeichnet sind.

Der Anwendungsbereich von Datentypen ist vielfältig. Sie werden nicht nur zum Speichern von Informationen verwendet, sondern auch beim Programmieren zur Lösung verschiedener Probleme. Beim Entwerfen von Programmen ist es üblich, eigene Datentypen mit einem bestimmten Satz von Operationen zu entwickeln und zu verwenden. Benutzerdefinierte basieren jedoch immer auf grundlegenden Datentypen. Auch der SQL-Standard basiert auf der Verwendung der gängigsten Grundtypen, jedoch mit einer Reihe spezifischer Ergänzungen.

Klassifizierung von Datentypen

Die Gruppierung von Daten nach Typ ist schon vor langer Zeit entstanden und entstand aus der Notwendigkeit einer komfortableren Verarbeitung. Derzeit bilden zwei Datentypen die Grundlage bestehender Datentypen: Zeichen und Zahlen.

Darauf aufbauend wurde eine moderne Klassifizierung entwickelt, die Zeiger, logische, ganzzahlige, Gleitkomma- und String-Datentypen umfasst. SQL - Die Klassifizierung deckt alle oben genannten Punkte vollständig ab. Für einige moderne DBMS gibt es jedoch zusätzliche Add-ons. Dazu gehören Oracle und MySQL.

Grundlegende Datentypen

Diejenigen, die zum Erstellen von Tabellenattributen verwendet werden, die den Sprachstandards entsprechen, werden in vier Klassen unterteilt:

  • Zeichenfolgenwerte;
  • Brüche;
  • ganzzahlige Werte;
  • Datums- und Uhrzeitwerte.

String-Datentyp

Mit der ersten Wertegruppe können Sie alle als Zeichen dargestellten Daten speichern.

Dies können Sonderzeichen, Zahlen und Buchstaben sein, die zusammen als Strings in beliebigen Datentypen verarbeitet werden, die in der unten aufgeführten Tabelle aufgeführt sind und die erste Gruppe bilden.

Wird zum Speichern von Zeichenfolgen verwendet. Mit dem Parameter in Klammern können Sie die Länge der gespeicherten Zeichenfolge festlegen. Die maximale Größe in Bytes, die für eine Zeichenfolge angegeben werden kann, beträgt 255.

Ähnlich wie beim vorherigen Typ können Sie Zeichenfolgen mit einer Länge von bis zu 255 Zeichen speichern. Der Unterschied zu CHAR besteht jedoch darin, dass die erforderliche Speichermenge zugewiesen wird, um einen Wert dieses Typs zu speichern. Das heißt, eine Zeichenfolge mit 5 Zeichen benötigt 6 Byte Speicher. Im ersten Fall wird der Speicher für den Wert entsprechend dem angegebenen Parameter zugewiesen.

Wird zum Speichern von Zeichenfolgendaten mit bis zu 255 Zeichen verwendet.

Wird zum Speichern von Textinformationen verwendet, deren Größe 65.535 Buchstaben nicht überschreitet.

Der betreffende Datentyp ähnelt dem TEXT-Typ und ermöglicht die Speicherung von Textinformationen in der Datenbank, deren Umfang 65.535 Zeichen erreichen kann. In der Praxis wird es jedoch zur Speicherung von Tondaten, Zeichnungen, elektronischer Dokumentation usw. verwendet.

Es wurde auf Basis des TEXT-Typs entwickelt, ermöglicht jedoch aufgrund der erhöhten Größe bis zu 16.777.215 Buchstaben oder Symbole die Speicherung weiterer Daten.

Wird zum Speichern elektronischer Dokumente in der Datenbank verwendet, deren Größe 16.777.215 Zeichen nicht überschreitet.

Funktionell ähnlich den Vorgängertypen, jedoch mit erhöhter Speicherkapazität auf bis zu 4 Gigabyte.

Ermöglicht das Platzieren großer Datenmengen in der Datenbank (4.294.967.295 Zeichen).

ENUM (a, b, c usw.)

Ein spezieller Datentyp, der zur Angabe einer Liste möglicher Werte verwendet wird. Ermöglicht die Angabe von 65535 Werten. Zeichenfolgen des betreffenden Typs können einen einzelnen Wert aus den im Satz angegebenen Werten annehmen. Für den Fall, dass Werte hinzugefügt werden, die in der angegebenen Liste nicht vorhanden sind, werden leere Werte in die Tabelle geschrieben.

Gibt einen Satz gültiger Werte an. Im Gegensatz zum vorherigen Typ enthält er 64 Parameter, die durch jedes oder mehrere Elemente der angegebenen Argumente initialisiert werden können.

Tabelle mit gebrochenen Datentypen

Bruch-SQL-Datentypen werden zum Speichern von Gleitkommazahlen verwendet. In der Praxis werden in der Regel verschiedene Finanzkennzahlen festgelegt. Je nach geforderter Genauigkeit kommt eine der drei vorgestellten zum Einsatz:

Bei Bankberechnungen erreicht die Genauigkeit des Bruchteils beispielsweise 8 oder 10 Stellen. Die ersten beiden Typen können in diesem Bereich nicht verwendet werden.

Das Speichern von Finanzindikatoren in Form von Zeichenfolgen vereinfacht die Lösung vieler Probleme erheblich. Wenn es jedoch um finanzielle Probleme oder die Durchführung verschiedener SQL-Operationen geht, ist die Datentypkonvertierung von großer Bedeutung. Entwickler müssen unbedingt die Art der Speicherung und Verarbeitungsmethoden berücksichtigen, um sicherzustellen, dass die Daten immer unverändert bleiben.

Ganzzahliger Datentyp

Ganzzahlen sind eine separate Gruppe von Zahlen, die eine der Hauptklassen bilden. Ganzzahlige SQL-Datentypen basieren auf der Verwendung eines Basisdatentyps mit einer gewissen Erweiterung seiner Eigenschaften.

Durch die Auswahl des richtigen Datentyps können Sie erheblich Speicher einsparen und die Serverzeit reduzieren, die für die Ausführung der erforderlichen SQL-Abfragen aufgewendet wird. Die Art der Daten bzw. deren Umfang bestimmt den benötigten Speicherplatz.

Daher ist es für Entwickler wichtig zu bedenken, dass die Verwendung großer Bereiche für Attribute höhere Speicherkosten mit sich bringt. Es ist notwendig, die zu lösenden Probleme klar zu analysieren und Fälle zu identifizieren, in denen der ungefähre Bereich bekannt ist und die Bedingung für die Verwendung vorzeichenbehafteter Zahlen definiert ist. Wenn der Bereich der verwendeten Argumente klein ist und alle Zahlen positiv sind, wäre es korrekter, den durch das UNSIGNED-Attribut gebildeten vorzeichenlosen Typ zu verwenden.

Datentypen für Datum und Uhrzeit

Beim Erlernen der SQL-Grundlagen sind die Datentypen Datum und Uhrzeit von besonderem Interesse.

Die Verwendung der folgenden Typen bietet zusätzliche Vorteile bei der Entwicklung von Systemen, die vom Timing abhängen.

Der Hauptzweck besteht darin, das Datum im Format JAHR-MONAT-TAG („JJJJ-MM-TT“ oder „uuuu-mm-tt“) zu speichern. Normalerweise werden Werte durch „-“ getrennt, aber jedes Zeichen außer Zahlen kann als Trennzeichen verwendet werden.

Ermöglicht die Eingabe temporärer Werte in eine Tabellenzelle. Alle Werte werden im Format „hh:mm:ss“ angegeben

Kombiniert die Funktionen der beiden vorherigen Typen. Das Speicherformat wird wie folgt dargestellt: „uuuu-mm-dd hh:mm:ss“.

Speichert Datum und Uhrzeit, berechnet anhand der Anzahl der Sekunden, die seit Mitternacht am 1. Januar 1970 bis zum angegebenen Wert vergangen sind.

Wird zum Speichern von Jahreswerten im zwei- oder vierstelligen Format verwendet.

Was müssen Sie sonst noch wissen?

Alle diese Arten von Daten werden von Microsoft detailliert systematisiert. Sie entwickelte SQL-Datentypen detaillierter.

Beispielsweise beschreibt das Unternehmen detailliert, wie viel Speicher in Bytes bei Verwendung jedes Typs zugewiesen wird. Nach dem Studium der verfügbaren Informationen ist es für Entwickler einfacher, die Struktur von Tabellen und der gesamten Datenbank basierend auf den Hardwarefunktionen des Servers zu entwerfen.

Spezieller Zeiger – NULL

Beim Auffüllen einer Datenbank kommt es manchmal vor, dass beim Hinzufügen eines Datensatzes zu einer Tabelle keine Informationen in alle Spalten eingegeben werden müssen. Hierzu wird ein spezieller leerer Wertzeiger verwendet - NULL, das als Hilfsmittel die SQL-Sprache nutzt. Beim Erstellen von Tabellen werden die Datentypen von Spalten, die nicht ausgefüllt werden müssen, mit einer Anweisung angegeben, die die Einbeziehung von Nullwerten ermöglicht. In einem anderen Fall der Betreiber NULL mit zusätzlicher Befestigung NICHT kann verwendet werden, um anzugeben, dass alle Werte ausgefüllt werden müssen.

Zeiger NULL hat keinen Typ, sondern zeigt lediglich auf einen leeren Wert in Datenbanktabellen. Daher kann es mit jedem der oben genannten Typen kombiniert werden.

Schauen wir uns zunächst an, was „Datentypen“ sind.
Datentypen bestimmen, welche Werte in einer Spalte gespeichert werden können und wie viel Speicher sie beanspruchen. Wenn Sie eine Tabelle erstellen, müssen Sie für alle Spalten einen bestimmten Datentyp angeben.
Die wichtigsten in SQL verwendeten Typen können in mehrere Kategorien unterteilt werden:

  • Ganzzahltypen;
  • Bruchtypen;
  • Zeichentypen;
  • Geldarten;
  • Zeittypen (Datum/Uhrzeit);

Ganzzahlige Datentypen

Bruchdatentypen

Zeichendatentyp

DatentypBeschreibung
CHAR(Größe)Wird zum Speichern von Zeichenfolgen verwendet. Mit dem Parameter in Klammern können Sie die Länge der gespeicherten Zeichenfolge festlegen. Die maximale Größe in Bytes, die für eine Zeichenfolge angegeben werden kann, beträgt 255.
VARCHAR (Größe)Ähnlich wie beim vorherigen Typ können Sie Zeichenfolgen mit einer Länge von bis zu 255 Zeichen speichern. Der Unterschied zu CHAR besteht jedoch darin, dass die erforderliche Speichermenge zugewiesen wird, um einen Wert dieses Typs zu speichern. Das heißt, eine Zeichenfolge mit 5 Zeichen benötigt 6 Byte Speicher. Im ersten Fall wird der Speicher für den Wert entsprechend dem angegebenen Parameter zugewiesen.
NCHAR(Größe)Unicode-Stringdaten konstanter Länge. n gibt die Länge der Zeichenfolge an und muss ein Wert zwischen 1 und 4000 sein. Die Speichergröße ist doppelt so groß wie der Wert von size in Bytes. Es wird empfohlen, nchar zu verwenden, wenn erwartet wird, dass die Größen der Datenelemente in den Spalten ähnlich sind.
NVARCHAR
(Größe|max)
Zeichenfolgendaten variabler Länge in Unicode. Größe gibt die Länge der Zeichenfolge an und kann einen Wert von 1 bis 4000 haben. Der Maximalwert gibt an, dass die maximale Speichergröße 2^31-1 Zeichen (2 GB) beträgt. Es wird empfohlen, nvarchar zu verwenden, wenn erwartet wird, dass die Größen der Datenelemente in den Spalten unterschiedlich sind.
TEXTNicht-Unicode-Daten variabler Länge in der Codepage des Servers und mit einer maximalen Zeilenlänge von 2^31-1 (2.147.483.647).
NTEXTUnicode-codierte Daten variabler Länge mit einer maximalen Zeilenlänge von 2^30 - 1 (1.073.741.823) Bytes.

Währungsdatentyp

Zeittypen (Datum/Uhrzeit)

DatentypBeschreibung
DATUMDer Hauptzweck besteht darin, das Datum im Format JAHR-MONAT-TAG („JJJJ-MM-TT“ oder „uuuu-mm-tt“) zu speichern.
ZEITErmöglicht die Eingabe temporärer Werte in eine Tabellenzelle. Alle Werte werden im Format „hh:mm:ss“ angegeben.
TERMINZEITKombiniert die Funktionen der beiden vorherigen Typen. Das Speicherformat wird wie folgt dargestellt: „uuuu-mm-dd hh:mm:ss“.
ZEITSTEMPELSpeichert Datum und Uhrzeit, berechnet anhand der Anzahl der Sekunden, die seit Mitternacht am 1. Januar 1970 bis zum angegebenen Wert vergangen sind.

Beispiele für die Verwendung von Datentypen

Schauen wir uns ein Beispiel für die Verwendung von Datentypen in SQL an.

Ein Beispiel für die Verwendung von Datentypen

MySQL

CREATE TABLE Checks(id INT NOT NULL, Name VARCHAR (50) NOT NULL, DataToDay DATE NOT NULL, Cost FLOAT NOT NULL);

Ausweis ist ein Zähler (er speichert die einzelne Schecknummer), daher gehört er zum Ganzzahl-Datentyp, also erstellen wir ihn INT oder GANZE ZAHL. NICHT NULL gibt an, dass die Variable nicht leer sein darf.
IN Name Wir speichern den Namen des Produkts. Da die Spalte die von uns verwendeten Zeichen speichert VARCHAR. Nachdem wir den Typ angegeben haben, weisen wir Speicher für den Namen zu (in unserem Fall ist dies der Fall). (50) ).
Die folgenden Tabellenspalten werden auf ähnliche Weise erstellt.

Jede Datenbankspalte hat ihren eigenen Typ, der beim Erstellen der Spalte angegeben wird.

Der SQL-Standard definiert die folgenden Typen:

1. symbolisch:

CHARAKTER ( len); VERKOHLEN( len);

CHARAKTER VARIIEREND ( len); CHAR VARYING ( len); VARCHAR( len);

VOLKSCHARAKTER ( len); NATIONALES CHAR ( len); NCHAR( len);

NATIONALER CHARAKTER VARIIEREND ( len);

Nationale Zeichen variieren ( len); NCHAR VARIIEREND ( len);

2. binär:

BISSCHEN ( len); BIT VARIIEREND ( len);

3. numerisch:

NUMERISCH; DEZIMAL; DEZ; GANZE ZAHL; INT; SMALLINT;

SCHWEBEN; REAL; DOPPELTE GENAUIGKEIT;

4. Termine/Zeiten:

DATUM; ZEIT; ZEIT MIT ZEITZONE;

ZEITSTEMPEL; ZEITSTEMPEL MIT ZEITZONE;

5. Intervall: INTERVALL.

Für Zeichentypen kann die Phrase CHARACTER SET ( set_name | using_form) angegeben werden, die den zu verwendenden Zeichensatz festlegt.

Hier finden Sie eine Beschreibung der am häufigsten verwendeten Datentypen:

VERKOHLEN( Num) – Textzeichenfolge mit fester Länge (für die gesamte Zeichenfolge wird Platz im Speicher reserviert);

VARCHAR( Num) – Textzeichenfolge variabler Länge, die nicht mehr als num Zeichen enthält (der Speicherplatz wird abhängig von der Länge der Zeichenfolge zugewiesen);

INTEGER oder INT – Ganzzahl;

NUMERIC – Gleitkommazahl, es ist möglich, die Anzahl der Dezimalstellen zu bestimmen;

DECIMAL oder DEC – Gleitkommazahl, es ist möglich, den minimalen Genauigkeitswert festzulegen;

FLOAT – eine Gleitkommazahl, mit der Sie die Genauigkeit (Anzahl der Dezimalstellen) festlegen können;

REAL ist eine Gleitkommazahl, deren Genauigkeit durch die Implementierung definiert ist.

DATUM – Datumstyp;

ZEIT MIT ZEITZONE – ein Zeittyp, der Felder enthält, die die Zonenzeitverschiebung beschreiben.

Datentypen, die Datum und Uhrzeit beschreiben, bestehen aus mehreren Feldern, die Teile des Datums und der Uhrzeit speichern.

Somit enthält der Typ DATE die Felder YEAR, MONTH und DAY.

Der Typ TIME enthält die Felder HOUR, MINUTE und SECOND.

Der Typ TIMESTAMP enthält sowohl Datums- als auch Zeitfelder.

Der Wert vom Typ TIMESTAMP wird wie folgt geschrieben: „10.1.2003 08:30:00“. Die Reihenfolge der Felder beim Schreiben eines Datums wird normalerweise durch die Betriebssystemeinstellungen des Computers bestimmt.

Um mit Daten vom Typ Datum/Uhrzeit zu arbeiten, bietet die SQL-Sprache die folgenden Funktionen:

CURRENT_TIME – definiert die aktuelle Uhrzeit;

CURRENT_DATE – definiert das aktuelle Datum;

CURRENT_TIMESTAMP – definiert das aktuelle Datum und die aktuelle Uhrzeit.

Die Entsprechung zwischen Oracle-Datentypen und ANSI/ISO-Datentypen ist in der Tabelle dargestellt

DATUM – Datum im Zeitraum 1-1-4712 v. Chr. bis 31.12.4712 n. Chr Das Datenformat wird durch die Servereinstellungen bestimmt.



In der 10. Version wurden Datentypen eingeführt, die dem IEEE754-Standard entsprechen – BINARY_FLOAT und BINARY_DOUBLE.

Notiz. PL/SQL-Prozeduren können ANSI-kompatible Datentypen verwenden: DEC(p,s), DECIMAL(p,s), INT, INTEGER, REAL, FLOAT(p), DOUBLE PRECISION.

Zusätzlich zu den oben genannten Skalartypen kann ein zusammengesetzter (Aggregat-)Typ angegeben werden, beispielsweise Struktur, Datensatz oder Sammlung. Darüber hinaus gibt es einen Typ wie einen Link.

Letzte Aktualisierung: 12.07.2017

Wenn Sie eine Tabelle erstellen, müssen Sie für alle Spalten einen bestimmten Datentyp angeben. Der Datentyp bestimmt, welche Werte in der Spalte gespeichert werden können und wie viel Platz sie im Speicher beanspruchen.

T-SQL bietet viele verschiedene Typen. Je nach Art der Bedeutungen lassen sich alle in Gruppen einteilen.

Numerische Datentypen

    BIT: speichert den Wert 0 oder 1. Tatsächlich ist es ein Analogon des Booleschen Typs in Programmiersprachen. Belegt 1 Byte.

    TINYINT: speichert Zahlen von 0 bis 255. Belegt 1 Byte. Gut zum Speichern kleiner Zahlen.

    SMALLINT: speichert Zahlen von –32.768 bis 32.767. Belegt 2 Bytes

    INT: speichert Zahlen von –2.147.483.648 bis 2.147.483.647. Belegt 4 Bytes. Der am häufigsten verwendete Typ zum Speichern von Zahlen.

    BIGINT: Speichert sehr große Zahlen von -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807, die 8 Bytes im Speicher belegen.

    DEZIMAL: speichert Zahlen mit fester Genauigkeit. Abhängig von der Anzahl der Dezimalstellen dauert es 5 bis 17 Bytes.

    Dieser Typ kann zwei Parameter Präzision und Skalierung annehmen: DECIMAL(precision, scale) .

    Der Präzisionsparameter stellt die maximale Anzahl von Ziffern dar, die die Zahl speichern kann. Dieser Wert muss zwischen 1 und 38 liegen. Der Standardwert ist 18.

    Der Skalierungsparameter stellt die maximale Anzahl von Stellen dar, die eine Zahl nach dem Dezimalpunkt enthalten kann. Dieser Wert muss im Bereich von 0 bis zum Wert des Präzisionsparameters liegen. Standardmäßig ist es 0.

    NUMERIC: Dieser Typ ähnelt dem DECIMAL-Typ.

    SMALLMONEY: Speichert Bruchwerte von -214748,3648 bis 214748,3647. Konzipiert für die Aufbewahrung von Geldwerten. Belegt 4 Bytes. Entspricht dem Typ DECIMAL(10,4) .

    GELD: Speichert Bruchwerte von -922.337.203.685.477,5808 bis 922.337.203.685.477,5807. Stellt Geldwerte dar und belegt 8 Bytes. Entspricht dem Typ DECIMAL(19,4) .

    FLOAT: Speichert Zahlen von –1,79E+308 bis 1,79E+308. Abhängig vom Bruchteil dauert es 4 bis 8 Bytes.

    Kann als FLOAT(n) definiert werden, wobei n die Anzahl der Bits darstellt, die zum Speichern des Dezimalteils der Zahl (der Mantisse) verwendet werden. Standard n = 53.

    REAL: Speichert Zahlen von –340E+38 bis 3,40E+38. Belegt 4 Bytes. Entspricht dem Typ FLOAT(24).

Beispiele für numerische Spalten: Gehalt MONEY, TotalWeight DECIMAL(9,2), Age INT, Surplus FLOAT

Datentypen, die Datum und Uhrzeit darstellen

    DATUM: Speicherdaten vom 01.01.0001 (1. Januar 0001) bis 31.12.9999 (31. Dezember 9999). Belegt 3 Bytes.

    ZEIT: Speichert die Zeit im Bereich von 00:00:00,0000000 bis 23:59:59,9999999. Benötigt 3 bis 5 Bytes.

    Kann die Form TIME(n) haben, wobei n die Anzahl der Ziffern von 0 bis 7 in Sekundenbruchteilen darstellt.

    DATETIME: Speichert Datums- und Uhrzeitangaben vom 01.01.1753 bis zum 31.12.9999. Belegt 8 Bytes.

    DATETIME2: Speichert Datums- und Uhrzeitangaben im Bereich vom 01.01.0001 00:00:00,0000000 bis 31.12.9999 23:59:59,9999999. Belegt je nach Zeitgenauigkeit 6 bis 8 Bytes.

    Kann die Form DATETIME2(n) haben, wobei n die Anzahl der Ziffern von 0 bis 7 in Sekundenbruchteilen darstellt.

    SMALLDATETIME: speichert Datums- und Uhrzeitangaben im Bereich vom 01.01.1900 bis 06.06.2079, also die nächstgelegenen Daten. Belegt ab 4 Bytes.

    DATETIMEOFFSET: Speichert Datums- und Uhrzeitangaben im Bereich von 01.01.0001 bis 31.12.9999. Speichert detaillierte Zeitinformationen mit einer Genauigkeit von 100 Nanosekunden. Belegt 10 Bytes.

Gängige Datumsformate:

    jjjj-mm-tt – 12.07.2017

    TT/MM/JJJJ – 12.07.2017

    MM-TT-JJ – 17.12.07

    In diesem Format werden zweistellige Zahlen von 00 bis 49 als Datumsangaben im Bereich 2000–2049 behandelt. Und die Zahlen von 50 bis 90 entsprechen dem Zahlenbereich von 1950 bis 1999.

    Monat dd, yyyy – 12. Juli 2017

Gängige Zeitformate:

  • hh:mi vormittags/nachmittags – 13:21 Uhr

    hh:mi:ss - 1:21:34

    hh:mi:ss:mmm - 1:21:34:12

    hh:mi:ss:nnnnnnnn - 1:21:34:1234567

String-Datentypen

    CHAR: Speichert eine Zeichenfolge mit einer Länge zwischen 1 und 8.000 Zeichen. Weist jedem Zeichen 1 Byte zu. Für viele Sprachen nicht geeignet, da darin Nicht-Unicode-Zeichen gespeichert werden.

    Die Anzahl der Zeichen, die die Spalte speichern kann, wird in Klammern übergeben. Beispielsweise reserviert eine Spalte vom Typ CHAR(10) 10 Bytes. Und wenn wir in einer Spalte eine Zeichenfolge mit weniger als 10 Zeichen speichern, wird diese mit Leerzeichen aufgefüllt.

    VARCHAR: speichert eine Zeichenfolge. Für jedes Zeichen wird 1 Byte reserviert. Sie können eine bestimmte Länge für eine Spalte angeben – von 1 bis 8000 Zeichen, zum Beispiel VARCHAR(10) . Wenn die Zeichenfolge mehr als 8000 Zeichen haben muss, wird die Größe auf MAX festgelegt und bis zu 2 GB können zum Speichern der Zeichenfolge zugewiesen werden: VARCHAR(MAX) .

    Für viele Sprachen nicht geeignet, da darin Nicht-Unicode-Zeichen gespeichert werden.

    Im Gegensatz zum CHAR-Typ werden, wenn eine Zeichenfolge mit 5 Zeichen in einer Spalte mit dem Typ VARCHAR(10) gespeichert wird, genau fünf Zeichen in der Spalte gespeichert.

    NCHAR: Speichert eine Unicode-Zeichenfolge mit einer Länge von 1 bis 4.000 Zeichen. Für jedes Zeichen werden 2 Bytes zugewiesen. Zum Beispiel NCHAR(15)

    NVARCHAR: Speichert eine Unicode-codierte Zeichenfolge. Für jedes Zeichen werden 2 Bytes zugewiesen. Sie können eine bestimmte Größe von 1 bis 4.000 Zeichen festlegen: . Wenn die Zeile mehr als 4000 Zeichen umfassen muss, wird die Größe auf MAX gesetzt und es können bis zu 2 GB zum Speichern der Zeile zugewiesen werden.

Zwei weitere Typen, TEXT und NTEXT, sind veraltet und werden daher nicht empfohlen. Stattdessen werden VARCHAR bzw. NVARCHAR verwendet.

Beispiele für die Definition von Zeichenfolgenspalten:

E-Mail VARCHAR(30), Kommentar NVARCHAR(MAX)

Binäre Datentypen

    BINÄR: Speichert Binärdaten als Folge von 1 bis 8.000 Bytes.

    VARBINARY: Speichert Binärdaten als Folge von 1 bis 8.000 Bytes oder bis zu 2^31–1 Bytes bei Verwendung des MAX-Werts (VARBINARY(MAX)).

Ein anderer Binärtyp, der IMAGE-Typ, ist veraltet und es wird empfohlen, stattdessen den VARBINARY-Typ zu verwenden.

Andere Datentypen

    UNIQUEIDENTIFIER: Eine eindeutige GUID (im Wesentlichen eine Zeichenfolge mit einem eindeutigen Wert), die 16 Bytes belegt.

    TIMESTAMP: Eine Zahl, die die Versionsnummer einer Zeile in der Tabelle speichert. Belegt 8 Bytes.

    CURSOR: Stellt eine Reihe von Zeichenfolgen dar.

    HIERARCHYID: Stellt eine Position in einer Hierarchie dar.

    SQL_VARIANT: Kann Daten jedes anderen T-SQL-Datentyps speichern.

    XML: Speichert XML-Dokumente oder Fragmente von XML-Dokumenten. Belegt bis zu 2 GB Speicher.

    TABLE: Stellt eine Tabellendefinition dar.

    GEOGRAPHIE: Speichert geografische Daten wie Breiten- und Längengrad.

    GEOMETRIE: Speichert die Koordinaten eines Ortes auf einer Ebene.



Aktie