SQL Server-Datentypen: Varchar, Numerisch, Datum und Uhrzeit (T-SQL-Beispiele)

Inhaltsverzeichnis:

Anonim

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
MSQL-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.