SQL Server-Datentypen mit Beispielen
โก Intelligente Zusammenfassung
SQL-Server-Datentypen definieren, welche Art von Wert eine Spalte oder Variable speichern kann, z. B. Integer, Dezimalzahl, Zeichenkette, Datum oder Binรคrzahl. Die Wahl des richtigen Typs gewรคhrleistet gรผltige Daten und eine effiziente Speichernutzung.

Was ist ein Datentyp?
Ein Datentyp in MS SQL Server Der Datentyp wird als der Datentyp definiert, den eine Spalte oder Variable speichern kann. Es handelt sich um die Art der Daten, die ein Objekt enthรคlt, z. B. Integer, Zeichen oder String. Beim Erstellen einer Spalte oder Variable wird der Datentyp definiert. Tabelle or VariableZusรคtzlich zur Angabe des Namens legen Sie auch den Typ der zu speichernden Daten fest.
So verwenden Sie den MS SQL-Datentyp
Sie mรผssen im Voraus festlegen, welcher Datentyp eine Spalte oder Variable speichern kann. Die Festlegung des Datentyps verhindert auรerdem, dass der Benutzer unerwartete oder ungรผltige Daten eingibt.
Sie kรถnnen den Speicher effizient nutzen, indem Sie einer Variablen oder Spalte einen geeigneten Datentyp zuweisen. Dadurch wird nur die fรผr die Daten dieser Spalte benรถtigte Menge an Systemspeicher reserviert.
MS SQL bietet eine breite Palette an grundlegenden Datentypen an. SQL um den Bedรผrfnissen der Nutzer gerecht zu werden, wie z. B. Datum, Binรคrdaten, Bilder und mehr.
Warum DataTypes verwenden?
Betrachten wir als Beispiel eine einfache Anmeldeseite fรผr eine Webanwendung. Die drei Eingabefelder sind Vorname, Nachname und Telefonnummer.
Hierbei ist zu beachten, dass in realen Szenarien Folgendes gilt:
- โVor-/Nachnameโ wird immer alphabetisch sortiert.
- โKontaktโ wird immer numerisch sein.
Das folgende Beispiel veranschaulicht diese Felder auf einem Anmeldeformular.
Aus dem obigen Bild geht hervor, dass es sinnvoll ist, โVor-/Nachnameโ als Zeichenkette und โKontaktโ als ganze Zahl zu definieren.
Es ist offensichtlich, dass in jeder Anwendung alle Felder Daten unterschiedlicher Art enthalten, zum Beispiel numerische, alphabetische, Datums- und viele weitere Datentypen.
Beachten Sie auรerdem, dass unterschiedliche Datentypen unterschiedlichen Speicherbedarf haben. Daher ist es sinnvoller, die Spalte oder Variable mit dem Datentyp zu definieren, den sie enthalten soll, um den Speicher effizient zu nutzen.
In MS SQL Server verfรผgbarer Datentyp
Hier finden Sie die Liste der Datentypen von MS SQL Server. MS SQL Server unterstรผtzt die folgenden Datentypkategorien:
- Exakte Zahl
- Ungefรคhre Zahl
- Datum und Uhrzeit
- Zeichenfolgen
- Unicode-Zeichenfolgen
- Binรคre Zeichenfolgen
- Andere Datentypen
Das folgende Diagramm gruppiert die MS SQL Server-Datentypen in diese Kategorien.
Exakte numerische Datentypen in SQL
Der exakte numerische Datentyp verfรผgt in SQL Server รผber neun Unterdatentypen. Jeder dieser Typen speichert ganze Zahlen oder Festkommazahlen innerhalb eines definierten Bereichs.
| Dateityp | Beschreibung | Untere Grenze | Obergrenze | Memory |
|---|---|---|---|---|
| bigint | Es speichert ganze Zahlen im angegebenen Bereich | โ2^63 (โ9,223,372,036,854,775,808) | 2^63โ1 (9,223,372,036,854,775,807) | 8 bytes |
| int | Es speichert ganze Zahlen im angegebenen Bereich | โ2^31 (โ2,147,483,648) | 2^31โ1 (2,147,483,647) | 4 bytes |
| smallint | Es speichert ganze Zahlen im angegebenen Bereich | โ2^15 (โ32,768) | 2^15โ1 (32,767) | 2 bytes |
| Tinyint | Es speichert ganze Zahlen im angegebenen Bereich | 0 | 255 | 1 Bytes |
| Bit | Es kann 0-, 1- oder NULL-Werte annehmen. | 0 | 1 | 1 Byte / 8-Bit-Spalte |
| dezimal | Wird fรผr Skalenzahlen und Zahlen mit fester Genauigkeit verwendet | โ10^38+1 | 10^38โ1 | 5 bis 17 Byte |
| numerisch | Wird fรผr Skalenzahlen und Zahlen mit fester Genauigkeit verwendet | โ10^38+1 | 10^38โ1 | 5 bis 17 Byte |
| Geld | Wird fรผr Gelddaten verwendet | -922,337,203,685,477.5808 | +922,337,203,685,477.5807 | 8 bytes |
| kleines Geld | Wird fรผr Gelddaten verwendet | -214,478.3648 | +214,478.3647 | 4 bytes |
Exakte numerische Datentypen in SQL Server mit Beispielen:
Abfrage:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
Ausgang:
2
Syntax:
Decimal (P,S)
Hierbei ist P die Genauigkeit und S der Maรstab.
Abfrage:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
Ausgang:
2.31
Ungefรคhre numerische Datentypen in SQL
Die SQL-Kategorie fรผr approximative numerische Werte umfasst Gleitkomma- und reelle Werte. Diese Datentypen werden hauptsรคchlich in wissenschaftlichen Berechnungen verwendet.
| Dateityp | Beschreibung | Untere Grenze | Obergrenze | Memory | Prรคzision |
|---|---|---|---|---|---|
| float(n) | Wird fรผr eine Zahl mit Gleitkommazahl verwendet | โ1.79E+308 | 1.79E + 308 | Hรคngt vom Wert von n ab | 15 stelligen |
| echt | Wird fรผr eine Zahl mit Gleitkommazahl verwendet | โ3.40E+38 | 3.40E + 38 | 4 bytes | 7 stelligen |
Der Datentyp float verwendet folgende Syntax:
Syntax: FLOAT [(n)]
Hierbei ist n die Anzahl der Bits, die zur Speicherung der Mantisse der Gleitkommazahl in wissenschaftlicher Notation verwendet werden. Standardmรครig ist der Wert von n 53.
Wenn Sie einen Datentyp wie float definieren, sollte n ein Wert zwischen 1 und 53 sein. SQL Server behandelt n als einen von zwei mรถglichen Werten: Wenn 1<=n<=24, wird n als 24 behandelt; wenn 25<=n<=53, wird n als 53 behandelt.
Beispielabfrage:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
Ausgang:
22.1234
Datums- und Uhrzeitdatentypen in SQL
In dieser Kategorie werden Daten vom Typ Datum und Uhrzeit gespeichert.
| Dateityp | Beschreibung | Speichergrรถรe | Genauigkeit | Unterer Bereich | Oberer Bereich |
|---|---|---|---|---|---|
| Terminzeit | Wird zur Angabe eines Datums und einer Uhrzeit vom 1. Januar 1753 bis zum 31. Dezember 9999 verwendet. Die Genauigkeit betrรคgt 3.33 Millisekunden. | 8 bytes | Auf Schritte von .000, .003, .007 gerundet | 1753-01-01 | 9999-12-31 |
| smalldatetime | Wird verwendet, um ein Datum und eine Uhrzeit vom 1. Januar 1900 bis zum 6. Juni 2079 anzugeben. Es hat eine Genauigkeit von 1 Minute. | 4 Bytes, fest | 1 Minuten | 1900-01-01 | 2079-06-06 |
| Datum | Dient dazu, nur ein Datum vom 1. Januar 0001 bis zum 31. Dezember 9999 zu speichern. | 3 Bytes, fest | 1 Tag | 0001-01-01 | 9999-12-31 |
| Zeit | Wird ausschlieรlich zur Speicherung von Zeitwerten mit einer Genauigkeit von 100 Nanosekunden verwendet. | 5 bytes | 100 Nanosekunden | 00:00:00.0000000 | 23:59:59.9999999 |
| datetimeoffset | รhnlich wie datetime, jedoch mit Zeitzonenverschiebung. | 10 bytes | 100 Nanosekunden | 0001-01-01 | 9999-12-31 |
| Datum/Uhrzeit2 | Wird zur Angabe eines Datums und einer Uhrzeit vom 1. Januar 0001 bis 31. Dezember 9999 verwendet | 6 bytes | 100 Nanosekunden | 0001-01-01 | 9999-12-31 |
Beispielabfrage:
DECLARE @Datatype_Date DATE = '2030-01-01' PRINT @Datatype_Date
Ausgang:
'2030-01-01'
Zeichenketten-Datentypen in SQL
Diese Kategorie bezieht sich auf Zeichentypen. Sie ermรถglicht die Definition von Zeichendaten fester und variabler Lรคnge. Es gibt vier Arten von Datentypen. Im Folgenden sind die Zeichenketten-Datentypen mit Beispielen aufgefรผhrt.
| Dateityp | Beschreibung | Untere Grenze | Obergrenze | Memory |
|---|---|---|---|---|
| verkohlen | Es handelt sich um eine Zeichenfolge mit fester Breite. Es speichert maximal 8,000 Zeichen. | 0 Zeichen | 8000 Zeichen | n Byte |
| varchar | Dies ist eine Zeichenkette mit variabler Breite. | 0 Zeichen | 8000 Zeichen | n Bytes + 2 Bytes |
| Varchar (maximal) | Dies ist eine Zeichenfolge mit variabler Breite. Es speichert maximal 1,073,741,824 Zeichen. | 0 Zeichen | 2^31 Zeichen | n Bytes + 2 Bytes |
| Text | Es handelt sich um eine Zeichenkette mit variabler Breite. Sie speichert maximal 2 GB Textdaten. | 0 Zeichen | 2,147,483,647 Zeichen | n Bytes + 4 Bytes |
Beispielabfrage:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
Ausgang:
Dies ist der Zeichendatentyp
Unicode-Zeichenfolgen-Datentypen in SQL
Diese Kategorie speichert den gesamten Zeichensatz von Unicode, der die UTF-16-Zeichenkodierung verwendet.
| Dateityp | Beschreibung | Untere Grenze | Obergrenze | Memory |
|---|---|---|---|---|
| nchar | Es handelt sich um eine Unicode-Zeichenkette fester Breite. | 0 Zeichen | 4000 Zeichen | 2 mal n Bytes |
| nvarchar | Es handelt sich um eine Unicode-Zeichenkette variabler Breite. | 0 Zeichen | 4000 Zeichen | 2 mal n Bytes + 2 Bytes |
| ntext | Es handelt sich um eine Unicode-Zeichenkette variabler Breite. | 0 Zeichen | 1,073,741,823 Zeichen | 2-fache Saitenlรคnge |
Beispielabfrage:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
Ausgang:
Dies ist der nCharacter-Datentyp
Binรคre String-Datentypen in SQL
Diese Kategorie enthรคlt Binรคrzeichenketten fester und variabler Lรคnge.
| Dateityp | Beschreibung | Untere Grenze | Obergrenze | Memory |
|---|---|---|---|---|
| binรคr | Es handelt sich um eine Binรคrzeichenkette fester Breite. Sie speichert maximal 8,000 Bytes. | 0 bytes | 8000 bytes | n Byte |
| varbinary | Es handelt sich um eine Binรคrzeichenkette variabler Breite. Sie speichert maximal 8,000 Bytes. | 0 bytes | 8000 bytes | Die tatsรคchliche Lรคnge der eingegebenen Daten + 2 Bytes |
| Image | Es handelt sich um eine Binรคrzeichenkette variabler Breite. Sie speichert maximal 2 GB. | 0 bytes | 2,147,483,647 bytes | - |
Beispielabfrage:
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
Ausgang:
0x000C
Andere Datentypen in SQL
Dies sind die weiteren SQL Server-Datentypen mit ihren Beschreibungen im Folgenden:
| Dateityp | Beschreibung |
|---|---|
| Cursor | Die Ausgabe ist eine Spalte vom Typ sp_cursor_list und sp_describe_cursor. Sie gibt den Namen der Cursor-Variablen zurรผck. |
| Rowversion | Es versieht Tabellenzeilen mit einem Versionsstempel. |
| Hierarchieid | Dieser Datentyp reprรคsentiert eine Position in einer Hierarchie. |
| Eindeutige Kennung | Speichert eine GUID, die hรคufig aus einem Zeichenausdruck umgewandelt wird. |
| Sql_variant | Es speichert Werte von SQL Server-unterstรผtzten Datentypen. |
| XML | Es speichert XML-Daten in einer Spalte. |
| Rรคumlicher Geometrietyp | Es stellt Daten in einem flachen Koordinatensystem dar. |
| Typ โRaumgeographieโ. | Es stellt Daten im runden Erdkoordinatensystem dar. |
| Tabelle | Es speichert einen Ergebnissatz zur spรคteren Verarbeitung. |
Interessante Fakten!
- Der Datentyp CHAR ist beim Abrufen von Daten schneller als der Datentyp VARCHAR, da seine feste Breite die Lรคngenverwaltung vermeidet.ping.


