Was ist ein Datentyp?
Ein Datentyp ist definiert als der Datentyp, den jede Spalte oder Variable in MS SQL Server speichern kann.
Beim Erstellen einer Tabelle oder Variablen legen Sie neben der Angabe des Namens auch den Datentyp fest , der gespeichert werden soll.
Verwendung des MS SQL-Datentyps
- Sie müssen im Voraus definieren, welche Art von Daten eine Spalte oder Variable speichern kann. Durch das Bestimmen des Datentyps wird der Benutzer auch daran gehindert, unerwartete oder ungültige Daten einzugeben.
- Sie können den Speicher effizient nutzen, indem Sie der Variablen oder Spalte einen geeigneten Datentyp zuweisen, der nur die erforderliche Menge an Systemspeicher für die Daten der jeweiligen Spalte zuweist.
- MS SQL bietet eine breite Kategorie des Datentyps gemäß den Anforderungen des Benutzers. Wie Datum, Binärbilder usw.
In diesem Tutorial lernen Sie:
- Was ist ein Datentyp?
- Verwendung des MS SQL-Datentyps
- Warum DataTypes verwenden?
- Genaue numerische
- Ungefähre numerische Zahl
- Datum (und Uhrzeit
- Zeichenketten
- Unicode-Zeichenfolgen
- Binäre Zeichenfolge
- Andere Datentypen
Warum DataTypes verwenden?
Nehmen wir ein Beispiel einer einfachen Anmeldeseite der Website-Anwendung. Drei Eingabefelder sind Vorname, Nachname und Kontaktnummer.
Hier sollten wir das in Echtzeit beachten:
- "Vor- / Nachname" ist immer alphabetisch .
- "Kontakt" ist immer numerisch .
- Aus dem obigen Bild lohnt es sich, "Vor- / Nachname" als Zeichen und " Kontakt" als Ganzzahl zu definieren .
Es ist offensichtlich, dass in jeder Anwendung alle Felder den einen oder anderen Datentyp haben. ZB numerisch, alphabetisch, Datum und vieles mehr.
Beachten Sie außerdem, dass unterschiedliche Datentypen unterschiedliche Speicheranforderungen haben. Daher ist es sinnvoller, die Spalte oder Variable mit dem Datentyp zu definieren, den sie für eine effiziente Speichernutzung enthält.
Datentyp in MS SQL verfügbar
MS SQL Server unterstützt folgende Kategorien von Datentypen:
- Genaue Zahl
- Ungefähre numerische Zahl
- Datum (und Uhrzeit
- Zeichenketten
- Unicode-Zeichenfolgen
- Binäre Zeichenfolgen
- Andere Datentypen

Genaue numerische
Exakte Zahlen haben neun Arten von Unterdatentypen. Genaue numerische Datentypen
Datentyp | Beschreibung | Untere Grenze | Obere Grenze | Erinnerung |
---|---|---|---|---|
Bigint | Es werden ganze Zahlen im angegebenen Bereich gespeichert | -2 63 (-9,223,372, 036,854,775,808) | 2 63-1 (-9,223,372, 036,854,775,807) | 8 Bytes |
int | Es werden ganze Zahlen im angegebenen Bereich gespeichert | -2 31 (-2,147, 483,648) | 2 31-1 (-2,147, 483,647) | 4 Bytes |
smallint | Es werden ganze Zahlen im angegebenen Bereich gespeichert | -2 15 (-32.767) | 2 15 (–32.768) | 2 Bytes |
tinyint | Es werden ganze Zahlen im angegebenen Bereich gespeichert | 0 | 255 | 1 Byte |
bisschen | Es kann 0-, 1- oder NULL-Werte annehmen. | 0 | 1 | 1 Byte / 8-Bit-Spalte |
Dezimal | Wird für Skalen- und Zahlen mit fester Genauigkeit verwendet | −10 38 + 1 | 10 381−1 | 5 bis 17 Bytes |
numerisch | Wird für Skalen- und Zahlen mit fester Genauigkeit verwendet | −10 38 + 1 | 10 381−1 | 5 bis 17 Bytes |
Geld | Verwendete Gelddaten | -922,337, 203, 685,477.5808 | +922,337, 203, 685,477,5807 | 8 Bytes |
Kleingeld | Verwendete Gelddaten | −214,478.3648 | +214,478.3647 | 4 Bytes |
Beispiele:
Abfrage:
DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int
Ausgabe: 2
Syntax: Dezimal (P, S)
Hier,
- P ist Präzision
- S ist Skala
Abfrage:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Ausgabe: 2.31
Ungefähre numerische Zahl
Die ungefähre numerische Kategorie umfasst Gleitkomma- und Realwerte. Sie werden meist in wissenschaftlichen Berechnungen verwendet. Ungefährer numerischer Datentyp
Datentyp | Beschreibung | Untere Grenze | Obere Grenze | Erinnerung | Präzision |
---|---|---|---|---|---|
float (n) | Wird für eine schwebende Präzisionszahl verwendet | –1,79E + 308 | 1,79E + 308 | Hängt vom Wert von n ab | 7 Ziff |
echt | Wird für eine schwebende Präzisionszahl verwendet | -3,40E + 38 | 3,40E + 38 | 4 Bytes | 15 Ziff |
Syntax: FLOAT [(n)]
Hier ist n die Anzahl der Bits, die verwendet werden, um die Mantisse der Gleitkommazahl in wissenschaftlicher Notation zu speichern . Standardmäßig ist der Wert von n 53.
Wenn der Benutzer einen Datentyp wie float definiert, 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.1234PRINT @Datatype_Float
Ausgabe: 22.1234
Datum (und Uhrzeit
Es speichert Daten vom Typ Datum und Uhrzeit. Datums- und Uhrzeitdatentyp
Datentyp | Beschreibung | Speichergröße | Richtigkeit | 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 |
kleine Zeit | Wird zur Angabe eines Datums und einer Uhrzeit vom 1. Januar 0001 bis zum 31. Dezember 9999 verwendet. Die Genauigkeit beträgt 100 Nanosekunden | 4 Bytes, fest | 1 Minute | 1900-01-01 | 2079-06-06 |
Datum | Wird verwendet, um nur das 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 nur zum Speichern von Zeitwerten mit einer Genauigkeit von 100 Nanosekunden verwendet. | 5 Bytes | 100 Nanosekunden | 00: 00: 00.0000000 | 23: 59: 59.9999999 |
datetimeoffset | Ähnlich wie die Datenzeit, hat jedoch einen Zeitzonenversatz | 10 Bytes | 100 Nanosekunden | 0001-01-01 | 9999-12-31 |
datetime2 | Wird zur Angabe eines Datums und einer Uhrzeit vom 1. Januar 0001 bis zum 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
Ausgabe: '2030-01-01'
Zeichenketten
Diese Kategorie bezieht sich auf einen Zeichentyp. Der Benutzer kann den Datentyp des Zeichens definieren, der eine feste und variable Länge haben kann. Es gibt vier Arten von Datentypen. Datentypen für Zeichenfolgen
Datentyp | Beschreibung | Untere Grenze | Obere Grenze | Erinnerung |
---|---|---|---|---|
verkohlen | Es ist eine Zeichenkette mit einer festen Breite. Es werden maximal 8.000 Zeichen gespeichert. | 0 Zeichen | 8000 Zeichen | n Bytes |
varchar | Dies ist eine Zeichenfolge mit variabler Breite | 0 Zeichen | 8000 Zeichen | n Bytes + 2 Bytes |
varchar (max) | Dies ist eine Zeichenfolge mit variabler Breite. Es werden maximal 1.073.741.824 Zeichen gespeichert. | 0 Zeichen | 2 31 Zeichen | n Bytes + 2 Bytes |
Text | Dies ist eine Zeichenfolge mit variabler Breite. Es werden maximal 2 GB Textdaten gespeichert. | 0 Zeichen | 2.147.483.647 Zeichen | n Bytes + 4 Bytes |
Beispielabfrage:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char
Ausgabe: Dies ist der Zeichendatentyp
Unicode-Zeichenfolgen
In dieser Kategorie wird der gesamte Bereich der Unicode-Zeichen gespeichert, die die UTF-16-Zeichencodierung verwenden. Unicode-Zeichenketten-Datentypen
Datentyp | Beschreibung | Untere Grenze | Obere Grenze | Erinnerung |
---|---|---|---|---|
nchar | Es ist eine Unicode-Zeichenfolge mit fester Breite | 0 Zeichen | 4000 Zeichen | 2 mal n Bytes |
nvarchar | Es ist eine Unicode-Zeichenfolge mit variabler Breite | 0 Zeichen | 4000 Zeichen | 2 mal n Bytes + 2 Bytes |
ntext | Es ist eine Unicode-Zeichenfolge mit variabler Breite | 0 Zeichen | 1.073.741.823 char | 2 mal die Saitenlänge |
Beispielabfrage:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar
Ausgabe: Dies ist der nCharacter-Datentyp
Binäre Zeichenfolge
Diese Kategorie enthält eine Binärzeichenfolge mit fester und variabler Länge. Datentypen für binäre Zeichenfolgen
Datentyp | Beschreibung | Untere Grenze | Obere Grenze | Erinnerung |
---|---|---|---|---|
binär | Es ist eine binäre Zeichenfolge mit fester Breite. Es werden maximal 8.000 Bytes gespeichert. | 0 Bytes | 8000 Bytes | n Bytes |
varbinary | Dies ist eine binäre Zeichenfolge mit variabler Breite. Es werden maximal 8.000 Bytes gespeichert | 0 Bytes | 8000 Bytes | Die tatsächliche Länge der eingegebenen Daten + 2 Bytes |
Bild | Dies ist eine binäre Zeichenfolge mit variabler Breite. Es speichert maximal 2 GB. | 0 Bytes | 2.147.483.647 Bytes |
Beispielabfrage:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Ausgabe: 0x000C
Andere Datentypen
Dies sind andere unterschiedliche Datentypen mit der folgenden Beschreibung:
Datentyp | Beschreibung |
---|---|
Mauszeiger | Die Ausgabe ist eine Spalte aus sp_cursor_list und sp_describe_cursor. Es gibt den Namen der Cursor-Variablen zurück. |
Zeilenversion | Die Version stempelt Tabellenzeilen. |
Hierarchyid | Dieser Datentyp repräsentiert eine Position in der Hierarchie |
Eindeutige Kennung | Konvertierung von einem Zeichenausdruck. |
Sql_variant | Es speichert Werte von SQL Server-unterstützten Datentypen. |
XML | Es speichert XML-Daten in einer Spalte. |
Typ der räumlichen Geometrie | Es repräsentiert Daten in einem flachen Koordinatensystem. |
Typ der räumlichen Geographie | Es repräsentiert Daten im Erdkoordinatensystem. |
Tabelle | Es speichert eine Ergebnismenge für die spätere Verarbeitung. |
Interessante Fakten!
- Der Datentyp CHAR ist beim Abrufen von Daten schneller als VARCHAR.
Zusammenfassung:
- Jede Spalte in Tabellen wird bei der Tabellenerstellung mit ihrem Datentyp definiert.
- Es gibt sechs Hauptkategorien und eine andere Kategorie. Andere verschiedene haben neun Unterkategorien von Datentypen zur Verfügung.