SQL Server-Datentypen mit Beispielen
Was ist ein Datentyp?
A Dateityp In SQL Server ist der Datentyp definiert, den jede Spalte oder Variable speichern kann. Dabei handelt es sich um einen Datentyp, den ein Objekt enthält, z. B. Ganzzahl, Zeichen, Zeichenfolge usw. Beim Erstellen einer Tabelle oder Variablen legen Sie neben der Angabe des Namens auch den Datentyp fest, der gespeichert werden soll.
So verwenden Sie den MS SQL-Datentyp
- Sie müssen im Voraus definieren, welche Art von Daten eine Spalte oder Variable speichern kann. Durch die Bestimmung des Datentyps wird außerdem verhindert, 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, der nur die erforderliche Menge an Systemspeicher für die Daten der jeweiligen Spalte zuweist.
- MS SQL bietet eine breite Kategorie grundlegender Datentypen in SQL entsprechend den Anforderungen des Benutzers, z. B. Datum, Binärbilder usw.
Warum DataTypes verwenden?
Nehmen wir eine Probe von einfach Anmeldeseite der Website-Anwendung. Drei Eingabefelder sind Vorname, Nachname und Kontaktnummer.
Hier sollten wir Folgendes in Echtzeit beachten:
- "Erster Nachname" wird immer sein alphabetisch.
- "Kontakt" wird immer sein numerisch.
- Anhand des obigen Bildes lohnt es sich, es zu definieren "Erster Nachname" als ein Charakter und "Kontakt" als ganze Zahl.
Es ist offensichtlich, dass in jeder Anwendung alle Felder den einen oder anderen Datentyp enthalten. ZB numerisch, alphabetisch, Datum und viele mehr.
Beachten Sie außerdem, dass unterschiedliche Datentypen unterschiedliche Speicheranforderungen haben. Daher ist es sinnvoller, die Spalte bzw. zu definieren Variable Mit dem Datentyp wird eine effiziente Speichernutzung gewährleistet.
In MS SQL Server verfügbarer Datentyp
Hier ist die Liste der MS SQL Server-Datentypen:
MS SQL-Server unterstützt folgende Datentypkategorien:
- Exakte Zahl
- Ungefähre Zahl
- Datum und Uhrzeit
- Zeichenfolgen
- Unicode-Zeichenfolgen
- Binäre Zeichenfolgen
- Andere Datentypen
Exakte numerische Datentypen in SQL
Exact Numeric verfügt in SQL Server über neun Arten von Unterdatentypen.
Genaue numerische Datentypen
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,767) | 2^15 (−32,768) | 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^381−1 | 5 bis 17 Byte |
numerisch | Wird für Skalenzahlen und Zahlen mit fester Genauigkeit verwendet | −10^38+1 | 10^381−1 | 5 bis 17 Byte |
Geld | Verwendete monetäre Daten | −922,337, 203, 685,477.5808 | +922,337, 203, 685,477.5807 | 8 bytes |
kleines Geld | Verwendete monetäre Daten | -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
Dezimal (P,S)
Hier
- P ist Präzision
- S ist Maßstab
Abfrage:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
Ausgang
2.31
Ungefähre numerische Datentypen in SQL
SQL Die Kategorie „Annäherungswerte“ umfasst Gleitkomma- und reelle Werte. Diese Datentypen in SQL werden hauptsächlich in wissenschaftlichen Berechnungen verwendet.
Ungefährer numerischer Datentyp
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 | 7 Digit |
echt | Wird für eine Zahl mit Gleitkommazahl verwendet | −3.40E+38 | 3.40E + 38 | 4 bytes | 15 Digit |
Syntax: FLOAT [(n)]
Hier n ist die Anzahl der Bits, die zum Speichern der Mantisse des verwendet werden schweben Zahl in wissenschaftlicher Notation. Standardmäßig beträgt der Wert von n 53.
Wenn der Benutzer einen Datentyp wie Float definiert, n sollte ein Wert zwischen 1 und 53 sein.
SQL Server behandelt n als einer 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
Es speichert Daten vom Typ Datum und Uhrzeit.
Datentyp „Datum und Uhrzeit“.
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 zur Angabe eines Datums und einer Uhrzeit vom 1. Januar 0001 bis 31. Dezember 9999 verwendet. Die Genauigkeit beträgt 100 Nanosekunden | 4 Bytes, fest | 1 Minuten | 1900-01-01 | 2079-06-06 |
Datum | Wird nur zum Speichern von Daten vom 1. Januar 0001 bis 31. Dezember 9999 verwendet | 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 datatime, weist jedoch einen Zeitzonenversatz auf | 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 einen Charaktertyp. Es ermöglicht dem Benutzer, den Datentyp des Zeichens zu definieren, das eine feste und variable Länge haben kann. Es gibt vier Arten von Datentypen. Nachfolgend sind die Zeichenfolgen-SQL-Server-Datentypen mit Beispielen aufgeführt.
Datentypen für Zeichenfolgen
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 Zeichenfolge 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 | Dies ist eine Zeichenfolge mit variabler Breite. Es 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
In dieser Kategorie wird der gesamte Bereich der Unicode-Zeichen gespeichert, die die UTF-16-Zeichenkodierung verwenden.
Datentypen für Unicode-Zeichenfolgen
Dateityp | Beschreibung | Untere Grenze | Obergrenze | Memory |
---|---|---|---|---|
nchar | Es handelt sich um eine Unicode-Zeichenfolge mit fester Breite | 0 Zeichen | 4000 Zeichen | 2 mal n Bytes |
nvarchar | Es handelt sich um eine Unicode-Zeichenfolge mit variabler Breite | 0 Zeichen | 4000 Zeichen | 2 mal n Bytes + 2 Bytes |
ntext | Es handelt sich um eine Unicode-Zeichenfolge mit 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 eine binäre Zeichenfolge fester und variabler Länge.
Binäre String-Datentypen
Dateityp | Beschreibung | Untere Grenze | Obergrenze | Memory |
---|---|---|---|---|
binär | Es handelt sich um eine Binärzeichenfolge mit fester Breite. Es speichert maximal 8,000 Bytes. | 0 bytes | 8000 bytes | n Byte |
varbinary | Dies ist eine binäre Zeichenfolge variabler Breite. Es speichert maximal 8,000 Bytes | 0 bytes | 8000 bytes | Die tatsächliche Länge der eingegebenen Daten + 2 Bytes |
Image | Dies ist eine binäre Zeichenfolge variabler Breite. Es 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 weitere verschiedene SQL Server-Datentypen mit der folgenden Beschreibung:
Dateityp | Beschreibung |
---|---|
Cursor | Seine Ausgabe ist eine Spalte von sp_cursor_list und sp_describe_cursor. Es gibt den Namen der Cursorvariablen zurück. |
Zeilenversion | Diese Version stempelt Tabellenzeilen. |
Hierarchieid | Dieser Datentyp repräsentiert eine Position in der Hierarchie |
Eindeutige Kennung | Konvertierung aus einem Zeichenausdruck. |
Sql_variant | Es speichert Werte von vom 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!
- CHAR-Datentyp ist beim Abrufen von Daten schneller als der SQL-VARCHAR-Datentyp.
Zusammenfassung
- Jede Spalte in Tabellen wird während der Tabellenerstellung mit ihrem Datentyp definiert.
- Es gibt sechs Hauptkategorien und eine weitere Kategorie. Die Kategorie „Sonstiges“ hat neun Unterkategorien von SQL Server Datentypen und -größen verfügbar.