Microsoft SQL-Server verwendet folgende Datentypen:
Typ | Bytes | Wertebereich |
bigint | 8 | ganze Zahlen von bis |
int | 4 | ganze Zahlen von bis |
smallint | 2 | ganze Zahlen von bis |
tinyint | 1 | ganze Zahlen von bis |
bit | 1 | ganze Zahlen von bis |
decimal(n,m) | n | numerische Daten mit fester Genauigkeit von bis |
numeric(n,m) | n | entspricht decimal |
money | 8 | Währungsdatenwerte von bis |
smallmoney | 2 | Währungsdatenwerte von bis |
real | 4 | Gleitkommazahlen von bis |
float | 8 | Gleitkommazahlen von bis |
datetime | 8 | Zeitangaben von 01.01.1753 bis 31.12.9999 |
smalldatetime | 4 | Zeitangaben von 01.01.1900 bis 06.06.2079 |
char(n) | n | String fester Länge mit maximal 8.000 Zeichen |
varchar(n) | String variabler Länge mit maximal 8.000 Zeichen | |
text | String variabler Länge mit maximal Zeichen | |
nchar(n) | 2n | Unicode-Daten fester Länge mit maximal 4.000 Zeichen |
nvarchar(n) | Unicode-Daten variabler Länge mit maximal 4.000 Zeichen | |
ntext | Unicode-Daten variabler Länge mit maximal Zeichen | |
binary | Binärdaten fester Länge mit maximal 8.000 Bytes | |
nbinary | Binärdaten variabler Länge mit maximal 8.000 Bytes | |
image | Binärdaten variabler Länge mit maximal Bytes | |
rowversion | 8 | Datenbank-eindeutiger Wert |
uniqueidentifier | 16 | weltweit eindeutiger Wert |
NULL bezeichnet nicht besetzte Attributwerte
default bezeichnet vorbesetzte Attributwerte.
numeric(n,m)-Werte werden mit Dezimalstellen angezeigt, davon Nachkommastellen.
int, smallint, tinyint und numeric können durch den Zusatz identify(i,j) automatisch initialisert werden mit Startwert und Schrittweite .
Typ money-Werte werden mit 4 Nachkommastellen angezeigt.
datetime-Werte bestehen aus zwei 4-Byte-Worten: die Anzahl der Tage vor oder nach dem Basisdatum 01.01.1900 sowie die Anzahl der Millisekunden seit Mitternacht.
smalldatetime-Werte bestehen aus zwei 2-Byte-Werten: die Anzahl der Tage seit dem 01.01.1900 sowie die Anzahl der Minuten seit Mitternacht.
Spalten vom Typ binary oder image speichern umfangreiche Binärdaten innerhalb eines Zeilentupels und erfordern zusätzliche Zugriffstechniken, um die Daten einzufügen oder auszulesen.
Spalten vom Typ rowversion (früher: timestamp) sind innerhalb einer Datenbank eindeutig. Sie werden automatisch für die betreffende Zeile bei einer INSERT- oder UPDATE-Operation zugewiesen.
Spalten vom Typ uniqueidentifier können durch die Funktion newid() einen (hoffentlich) weltweit eindeutigen Identifier erhalten.