SQL Datentypen für verschiedene Datenbanken


Von Microsoft Access, MySQL und SQL Server verwendete Datentypen und Bereiche.


Microsoft Access-Datentypen

Datentyp Beschreibung Speicher
Text Wird für Text oder Kombinationen aus Text und Zahlen verwendet. Maximal 255 Zeichen.
Memo Memo wird für größere Textmengen verwendet. Speichert bis zu 65,536 Zeichen.Hinweis:Memo-Felder können nicht sortiert werden. Sie sind jedoch durchsuchbar.
Byte Erlaubt Zahlen von 0 bis 255. 1 Byte
Integer Erlaubt alle Zahlen zwischen -32,768 und 32,767. 2 Byte
Long Erlaubt alle Zahlen zwischen -2,147,483,648 und 2,147,483,647. 4 Byte
Single Gleitkommazahl mit einfacher Genauigkeit. Verarbeitet die meisten Dezimalzahlen. 4 Byte
Double Gleitkommazahl mit doppelter Genauigkeit. Verarbeitet die meisten Dezimalzahlen. 8 Bytes
Currency Wird für Währung verwendet. Unterstützt 15 Stellen für Dollar, plus 4 Dezimalstellen.Tipp:Sie können auswählen, welche Landeswährung verwendet werden soll. 8 Bytes
AutoNumber AutoNumber-Felder weisen jedem Datensatz automatisch eine Nummer zu, üblicherweise beginnend bei 1. 4 Byte
Datum/Uhrzeit Wird für Datums- und Uhrzeitangaben verwendet 8 Bytes
Ja/Nein Logische Felder können als Ja/Nein, Wahr/Falsch oder Ein/Aus angezeigt werden. Verwenden Sie im Code die Konstanten True und False (entsprechen 1 und 0).Hinweis:Null-Werte sind in Ja/Nein-Feldern nicht zulässig 1 Bit
OLE-Objekt Kann Bilder, Audio, Video oder andere BLOBs (Binary Large OBjects) speichern. Bis zu 1GB
Hyperlink Enthält Links zu anderen Dateien, einschließlich Webseiten.
Nachschlage-Assistent Ermöglicht es Ihnen, eine Optionsliste zu erstellen, die aus einer Dropdown-Liste ausgewählt werden kann. 4 Byte


MySQL-Datentypen

In MySQL gibt es drei Haupttypen: Text-, Zahlen- und Datums-/Zeittypen.

Texttypen:

Datentyp Beschreibung
CHAR(size) Speichert eine Zeichenkette fester Länge (kann Buchstaben, Zahlen und Sonderzeichen enthalten). Geben Sie die Länge der Zeichenkette in Klammern an. Bis zu 255 Zeichen.
VARCHAR(size) Speichert eine Zeichenkette variabler Länge (kann Buchstaben, Zahlen und Sonderzeichen enthalten). Geben Sie die maximale Länge der Zeichenkette in Klammern an. Bis zu 255 Zeichen.Hinweis:Wenn die Länge des Werts größer als 255 ist, wird er in einen TEXT-Typ konvertiert.
TINYTEXT Speichert eine Zeichenkette mit einer maximalen Länge von 255 Zeichen.
TEXT Speichert eine Zeichenkette mit einer maximalen Länge von 65,535 Zeichen.
BLOB Wird für BLOBs (Binary Large OBjects) verwendet. Speichert bis zu 65,535 Bytes an Daten.
MEDIUMTEXT Speichert eine Zeichenkette mit einer maximalen Länge von 16,777,215 Zeichen.
MEDIUMBLOB Wird für BLOBs (Binary Large OBjects) verwendet. Speichert bis zu 16,777,215 Bytes an Daten.
LONGTEXT Speichert eine Zeichenkette mit einer maximalen Länge von 4,294,967,295 Zeichen.
LONGBLOB Wird für BLOBs (Binary Large OBjects) verwendet. Speichert bis zu 4,294,967,295 Bytes an Daten.
ENUM(x,y,z,etc.) Ermöglicht die Eingabe einer Liste möglicher Werte. Sie können bis zu 65,535 Werte in einer ENUM-Liste auflisten. Wenn ein eingefügter Wert nicht in der Liste vorhanden ist, wird ein NULL-Wert eingefügt.

Hinweis:Diese Werte werden in der Reihenfolge sortiert, in der Sie sie eingeben.

Mögliche Werte können in diesem Format eingegeben werden: ENUM('X','Y','Z')

SET Ähnlich wie ENUM, außer dass SET höchstens 64 Listeneinträge enthalten kann und SET mehr als eine Auswahl speichern kann.

Zahlentypen:

Datentyp Beschreibung
TINYINT(size) Mit Vorzeichen von -128 bis 127, ohne Vorzeichen von 0 bis 255.
SMALLINT(size) Mit Vorzeichen reicht der Bereich von -32768 bis 32767, ohne Vorzeichen von 0 bis 65535, der Standardwert für size ist 6.
MEDIUMINT(size) Mit Vorzeichen reicht der Bereich von -8388608 bis 8388607, ohne Vorzeichen von 0 bis 16777215. Der Standardwert für size ist 9.
INT(size) Mit Vorzeichen reicht der Bereich von -2147483648 bis 2147483647, ohne Vorzeichen von 0 bis 4294967295. Der Standardwert für size ist 11.
BIGINT(size) Mit Vorzeichen reicht der Bereich von -9223372036854775808 bis 9223372036854775807, ohne Vorzeichen von 0 bis 18446744073709551615. Der Standardwert für size ist 20.
FLOAT(size,d) Kleine Zahlen mit einem gleitenden Dezimalpunkt. Geben Sie im Parameter size die maximale Anzahl der anzuzeigenden Ziffern an. Geben Sie im Parameter d die maximale Anzahl der Ziffern rechts vom Dezimalpunkt an.
DOUBLE(size,d) Große Zahlen mit einem Gleitkomma. Geben Sie im Parameter size die maximale Anzahl der Anzeigeziffern an. Geben Sie im Parameter d die maximale Anzahl der Ziffern rechts vom Dezimalpunkt an.
DECIMAL(size,d) Ein DOUBLE-Typ, der als String gespeichert wird und einen festen Dezimalpunkt ermöglicht. Geben Sie im Parameter size die maximale Anzahl der Anzeigeziffern an. Geben Sie im Parameter d die maximale Anzahl der Ziffern rechts vom Dezimalpunkt an.

Hinweis:Die oben genannte size gibt nicht die tatsächliche Länge an, die in der Datenbank gespeichert wird; zum Beispiel bedeutet int(4) nicht, dass nur Zahlen mit einer Länge von 4 Ziffern gespeichert werden können.

Tatsächlich hat int(size) nichts damit zu tun, wie viel Speicherplatz belegt wird. int(3), int(4) und int(8) belegen alle 4 Bytes Speicherplatz auf der Festplatte. Abgesehen von einem geringfügigen Unterschied in der Art und Weise, wie sie dem Benutzer angezeigt werden, ist int(M) dasselbe wie der Datentyp int.

Beispiel:

1. int-Wert 10 (mit angegebenem zerofill)

int(9)显示结果为000000010
int(3)显示结果为010

Es ist nur so, dass die angezeigte Länge unterschiedlich ist; sie belegen alle vier Bytes Speicherplatz.

Datumstypen:

Datentyp Beschreibung
DATE() Datum. Format: YYYY-MM-DD

Hinweis:Der unterstützte Bereich reicht von '1000-01-01' bis '9999-12-31'

DATETIME() *Eine Kombination aus Datum und Uhrzeit. Format: YYYY-MM-DD HH:MM:SS

Hinweis:Unterstützter Bereich reicht von '1000-01-01 00:00:00' bis '9999-12-31 23:59:59'

TIMESTAMP() *Zeitstempel. TIMESTAMP-Werte werden anhand der Anzahl der Sekunden seit der Unix-Epoche ('1970-01-01 00:00:00' UTC) gespeichert. Format: YYYY-MM-DD HH:MM:SS

Hinweis:Unterstützter Bereich reicht von '1970-01-01 00:00:01' UTC bis '2038-01-09 03:14:07' UTC

TIME() Uhrzeit. Format: HH:MM:SS

Hinweis:Unterstützter Bereich reicht von '-838:59:59' bis '838:59:59'

YEAR() Jahr im 2-stelligen oder 4-stelligen Format.

Hinweis:Zulässige Werte im 4-stelligen Format: 1901 bis 2155. Zulässige Werte im 2-stelligen Format: 70 bis 69, die 1970 bis 2069 repräsentieren.

*Obwohl DATETIME und TIMESTAMP dasselbe Format zurückgeben, funktionieren sie sehr unterschiedlich. In INSERT- oder UPDATE-Abfragen setzt TIMESTAMP sich automatisch auf das aktuelle Datum und die aktuelle Uhrzeit. TIMESTAMP akzeptiert außerdem verschiedene Formate wie YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD oder YYMMDD.


SQL Server-Datentypen

Zeichenfolgentypen:

Datentyp Beschreibung Speicher
char(n) Zeichenfolgen fester Länge. Bis zu 8,000 Zeichen. Definierte Breite
varchar(n) Zeichenfolgen variabler Länge. Bis zu 8,000 Zeichen. 2 Bytes + Anzahl der Zeichen
varchar(max) Zeichenfolgen variabler Länge. Bis zu 1,073,741,824 Zeichen. 2 Bytes + Anzahl der Zeichen
text Zeichenfolgen variabler Länge. Bis zu 2GB Textdaten. 4 Bytes + Anzahl der Zeichen
nchar Unicode-Zeichenfolge fester Länge. Bis zu 4,000 Zeichen. Definierte Breite x 2
nvarchar Unicode-Zeichenfolge variabler Länge. Bis zu 4,000 Zeichen.
nvarchar(max) Unicode-Zeichenfolge variabler Länge. Bis zu 536,870,912 Zeichen.
ntext Unicode-Zeichenfolge variabler Länge. Bis zu 2GB Textdaten.
bit Erlaubt 0, 1 oder NULL.
binary(n) Binärzeichenfolge fester Länge. Bis zu 8,000 Bytes.
varbinary Binärzeichenfolge variabler Länge. Bis zu 8,000 Bytes.
varbinary(max) Binärzeichenfolge variabler Länge. Bis zu 2GB.
image Binärzeichenfolge variabler Länge. Bis zu 2GB.

Zahlentypen:

Datentyp Beschreibung Speicher
tinyint Erlaubt alle Zahlen von 0 bis 255. 1 Byte
smallint Erlaubt alle Zahlen zwischen -32,768 und 32,767. 2 Byte
int Erlaubt alle Zahlen zwischen -2,147,483,648 und 2,147,483,647. 4 Byte
bigint Erlaubt alle Zahlen zwischen -9,223,372,036,854,775,808 und 9,223,372,036,854,775,807. 8 Bytes
decimal(p,s) Zahlen mit fester Genauigkeit und Skala.

Erlaubt Zahlen zwischen -10^38 + 1 und 10^38 - 1.

Der Parameter p gibt die maximale Anzahl von Ziffern an, die gespeichert werden können (links und rechts vom Dezimalpunkt). p muss ein Wert von 1 bis 38 sein. Standard ist 18.

Der Parameter s gibt die maximale Anzahl von Ziffern an, die rechts vom Dezimaltrennzeichen gespeichert werden. s muss einen Wert von 0 bis p haben. Standard ist 0.

5-17 Bytes
numeric(p,s) Zahlen mit fester Genauigkeit und Skala.

Erlaubt Zahlen zwischen -10^38 + 1 und 10^38 - 1.

Der Parameter p gibt die maximale Anzahl von Ziffern an, die gespeichert werden können (links und rechts vom Dezimalpunkt). p muss ein Wert von 1 bis 38 sein. Standard ist 18.

Der Parameter s gibt die maximale Anzahl von Ziffern an, die rechts vom Dezimaltrennzeichen gespeichert werden. s muss einen Wert von 0 bis p haben. Standard ist 0.

5-17 Bytes
smallmoney Währungsdaten zwischen -214,748.3648 und 214,748.3647. 4 Byte
money Währungsdaten zwischen -922,337,203,685,477.5808 und 922,337,203,685,477.5807. 8 Bytes
float(n) Gleitkommazahlen-Daten von -1.79E + 308 bis 1.79E + 308.

Der Parameter n gibt an, ob das Feld 4 Bytes oder 8 Bytes speichert. float(24) speichert 4 Bytes, während float(53) 8 Bytes speichert. Der Standardwert von n ist 53.

4 oder 8 Bytes
real Gleitkommazahlen-Daten von -3.40E + 38 bis 3.40E + 38. 4 Byte

Datumstypen:

Datentyp Beschreibung Speicher
datetime Vom 1. Januar 1753 bis zum 31. Dezember 9999 mit einer Genauigkeit von 3.33 Millisekunden. 8 Bytes
datetime2 Vom 1. Januar 1753 bis zum 31. Dezember 9999, mit einer Genauigkeit von 100 Nanosekunden. 6-8 Bytes
smalldatetime Vom 1. Januar 1900 bis zum 6. Juni 2079, mit einer Genauigkeit von 1 Minute. 4 Byte
date Speichert nur das Datum. Vom 1. Januar 0001 bis zum 31. Dezember 9999. 3 Bytes
time Speichert nur die Uhrzeit. Genauigkeit von 100 Nanosekunden. 3-5 Bytes
datetimeoffset Wie datetime2, plus ein Zeitzonenoffset. 8-10 Bytes
timestamp Speichert eine eindeutige Zahl, die aktualisiert wird, sobald eine Zeile erstellt oder geändert wird. Der timestamp-Wert basiert auf einer internen Uhr und entspricht nicht der realen Zeit. Jede Tabelle kann nur eine timestamp-Variable haben.  

Weitere Datentypen:

Datentyp Beschreibung
sql_variant Speichert bis zu 8,000 Bytes an Daten unterschiedlicher Datentypen, außer text, ntext und timestamp.
uniqueidentifier Speichert einen global eindeutigen Bezeichner (GUID).
xml Speichert XML-formatierte Daten. Bis zu 2GB.
cursor Speichert einen Verweis auf einen Zeiger, der für Datenbankoperationen verwendet wird.
table Speichert eine Ergebnismenge für die spätere Verarbeitung.
Weitere Erweiterungen