Kaufmännische Software für Handel, Handwerk und Produktionsbetriebe
In Microsoft® SQL Server™ hat jede Spalte, jede lokale Variable, jeder Ausdruck und jeder Parameter einen entsprechenden Datentyp. Es handelt sich dabei um ein Attribut, das für das jeweilige Objekt angibt, welchen Typ von Daten (ganze Zahl, Zeichenketten, Bilder usw.) es aufnehmen kann. SQL Server stellt eine Reihe von Systemdatentypen zur Verfügung, die alle Typen von Daten definieren, die mit SQL Server verwendet werden können. Die vom System bereitgestellten Datentypen sind im Folgenden aufgeführt:
Ganzzahlige Daten von -2^63 (-9223372036854775808) bis 2^63-1 (9223372036854775807). Die Speichergröße beträgt 8 Byte.
Ganzzahlige Daten von -2^31 (-2.147.483.648) bis 2^31 - 1 (2.147.483.647). Die Speichergröße beträgt 4 Byte. Das SQL-92-Synonym für int ist integer.
Ganzzahlige Daten von -2^15 (-32.768) bis 2^15 - 1 (32.767). Die Speichergröße beträgt 2 Byte.
Ganzzahlige Daten von 0 bis 255. Die Speichergröße beträgt 1 Byte.
Hinweise
Der bigint-Datentyp
wird unterstützt, wo ganzzahlige Werte unterstützt
werden. Allerdings ist bigint für
besondere Fälle bestimmt, in denen ganzzahlige
Werte den durch den int-Datentyp unterstützten
Bereich überschreiten. Der int-Datentyp
ist weiterhin der primäre ganzzahlige Datentyp in
SQL Server.
bigint passt zwischen smallmoney
und int in der Rangfolge der Datentypen.
Funktionen geben nur bigint zurück,
wenn der Parameterausdruck ein bigint-Datentyp
ist. SQL Server nimmt nicht automatisch eine Höherstufung
anderer ganzzahliger Datentypen (tinyint, smallint
und int) zu bigint vor
Ganzzahliger Datentyp mit dem Wert 1, 0 oder NULL.
Hinweise
Spalten vom Typ bit
können nicht indiziert werden.
Microsoft® SQL Server™ optimiert den
Speicher, der für bit-Spalten verwendet
wird. Sind 8 oder weniger bit-Spalten in
einer Tabelle vorhanden, werden die Spalten als 1
Byte abgespeichert. Sind zwischen 9 und 16 bit-Spalten
vorhanden, werden diese als 2 Byte gespeichert
usw.
Numerische Datentypen mit fester Genauigkeit und fester Anzahl von Dezimalstellen.
Zahlen mit fester Genauigkeit und mit fester Anzahl von Dezimalstellen. Bei maximaler Genauigkeit befinden sich die gültigen Werte in einem Bereich von - 10^38 +1 bis 10^38 - 1.
p (Precision = Genauigkeit)
Gibt an, wie viele Dezimalstellen maximal (vor und nach dem Dezimalzeichen) gespeichert werden können. Der Wert für die Genauigkeit muss in einem Bereich zwischen 1 und der maximalen Genauigkeit liegen. Die maximale Genauigkeit ist 38.
s (Scale = Dezimalstellen)
Gibt an, wie viele Dezimalstellen (Ziffern nach dem Dezimalzeichen) maximal gespeichert werden können. Der Dezimalstellenwert muss in einem Bereich zwischen 0 und p liegen. Der Standardwert ist 0; daher gilt: 0 <= s <= p. Die maximalen Speichergrößen variieren basierend auf der Genauigkeit.
| Genauigkeit | Speicherplatz in Bytes |
|---|---|
| 1 - 9 | 5 |
| 10-19 | 9 |
| 20-28 | 13 |
| 29-38 | 17 |
Datums- und Zeitdatentypen zum Darstellen von Datum und Tageszeit.
Datums- und Zeitdaten zwischen dem 1. Januar 1753 und dem 31. Dezember 9999 mit einer Genauigkeit von drei Hundertstel einer Sekunde (entspricht 3,33 Millisekunden oder 0,00333 Sekunden). Die Werte werden in Abschnitten von 0,000, 0,003 oder 0,007 Sekunden gerundet, wie in der Tabelle dargestellt.
| Beispiel | Gerundetes Beispiel |
|---|---|
| 01/01/98 23:59:59.999 | 1998-01-02 00:00:00.000 |
| 01/01/98
23:59:59.995, 01/01/98 23:59:59.996, 01/01/98 23:59:59.997 oder 01/01/98 23:59:59.998 |
1998-01-01 23:59:59.997 |
| 01/01/98
23:59:59.992, 01/01/98 23:59:59.993, 01/01/98 23:59:59.994 |
1998-01-01 23:59:59.993 |
| 01/01/98
23:59:59.990 oder 01/01/98 23:59:59.991 |
1998-01-01 23:59:59.990 |
Microsoft® SQL Server™ weist alle Werte zurück, die nicht im Datumsbereich zwischen 1753 und 9999 liegen.
Datums- und Zeitangaben zwischen dem 1. Januar 1900 und dem 6. Juni 2079 mit einer Genauigkeit von einer Minute. smalldatetime-Werte mit kleiner gleich 29,998 Sekunden werden zur nächsten Minute abgerundet; Werte mit größer gleich 29,999 Sekunden werden zur nächsten Minute aufgerundet.
--liefert die Zeit als 12:35
SELECT CAST('2000-05-08 12:35:29.998' AS smalldatetime)
GO
--liefert die Zeit als 12:36
SELECT CAST('2000-05-08 12:35:29.999' AS smalldatetime)
GO
Hinweise
Werte des datetime-Datentyps
werden von Microsoft SQL Server intern als zwei 4
Byte lange ganze Zahlen gespeichert. Die ersten 4
Byte enthalten die Anzahl der Tage vor oder nach
dem Basisdatum, dem 1. Januar 1900. Das
Basisdatum ist das Referenzdatum des Systems.
Werte für datetime, die vor dem 1. Januar
1753 liegen, sind nicht zulässig. Die anderen 4
Byte speichern die Tageszeit, die als Anzahl der
Millisekunden seit Mitternacht dargestellt wird.
Der smalldatetime-Datentyp speichert
Datum und Tageszeit mit geringerer Genauigkeit als
datetime. SQL Server speichert smalldatetime-Werte
als zwei ganze Zahlen mit einer Länge von 2 Byte.
Die ersten 2 Byte enthalten die Anzahl der Tage
seit dem 1. Januar 1900. Die anderen 2 Byte
speichern die Anzahl der Minuten seit Mitternacht.
Die Datumsangaben liegen zwischen dem 1. Januar
1900 und dem 6. Juni 2079 und sind auf die Minute
genau.
Zeichendatentypen für Daten mit fester Länge (char).
Nicht-Unicode-Zeichendaten fester Länge mit n Byte. n muss ein Wert zwischen 1 und 8.000 sein. Die Speichergröße beträgt n Byte.
Zeichendatentypen für Daten mit variabler Länge (varchar).
Nicht-Unicode-Zeichendaten variabler Länge mit n Byte. n muss ein Wert zwischen 1 und 8.000 sein. Die Speichergröße entspricht der tatsächlichen Länge der eingegebenen Daten in Byte, nicht n Byte. Die eingegebenen Daten können 0 Zeichen lang sein.
Datentypen variabler Länge zum Speichern von großen Nicht-Unicode-Zeichendaten.
Nicht-Unicode-Daten variabler Länge in der Codepage des Servers und mit einer maximalen Länge von 231-1 (2.147.483.647) Zeichen. Auch wenn die Servercodepage Doppelbyte-Zeichen verwendet, ist der Speicherplatz 2.147.483.647 Byte groß. Abhängig von der Zeichenfolge kann die Speichergröße unter 2.147.483.647 Byte liegen.
Hinweise
Wenn n in einer
Datendefinitions- oder
Variablendeklarationsanweisung nicht angegeben
ist, ist die Standardlänge 1. Falls n
bei der CAST-Funktion nicht angegeben ist, ist die
Standardlänge 30.
Einem Objekt, für das char oder varchar
verwendet wird, wird die Standardsortierung der
Datenbank zugewiesen, es sei denn, mit der
COLLATE-Klausel wird eine bestimmte Sortierung
zugewiesen. Die Sortierung bestimmt die Codepage,
die zum Speichern der Zeichendaten verwendet wird.
Für Sites, die mehrere Sprachen unterstützen,
sollte erwogen werden, den Unicode-Datentyp nchar
oder nvarchar zu verwenden, um die
Zeichenkonvertierungsprobleme zu minimieren. Wenn
Sie char oder varchar verwenden:
Verwenden Sie char, wenn die
Datenwerte in einer Spalte vermutlich alle
ungefähr die gleiche Größe haben werden.
Verwenden Sie varchar, wenn die
Datenwerte in einer Spalte voraussichtlich
sehr unterschiedliche Größen haben werden.
Wenn SET ANSI_PADDING auf OFF eingestellt ist,
während CREATE TABLE oder ALTER TABLE ausgeführt
wird, wird eine als NULL definierte char-Spalte
als varchar behandelt.
Auch wenn die Sortierungscodepage
Doppelbytezeichen verwendet, ist die Speichergröße
nach wie vor n Byte. Abhängig von der
Zeichenfolge kann die Speichergröße von n
Byte weniger als n Zeichen betragen.
Binäre Datentypen mit fester Länge (binary).
Binäre Daten mit einer festen Länge von n Byte. Der Wert von n muss zwischen 1 und 8.000 liegen. Die Speichergröße beträgt n+4 Byte.
Verwenden Sie binary, wenn die Dateneinträge einer Spalte gleich lang sind.
Wenn n in einer Datendefinitions- oder Variablendeklarationsanweisung nicht angegeben ist, beträgt die Standardlänge 1. Wenn n bei der CAST-Funktion nicht angegeben ist, beträgt die Standardlänge 30.
Binäre Datentypen mit variabler Länge (varbinary).
Binäre Daten mit einer variablen Länge von n Byte. Der Wert von n muss zwischen 1 und 8.000 liegen. Die Speichergröße ergibt sich aus der tatsächlichen Länge der eingegebenen Daten plus 4 Byte, ist also nicht unbedingt gleich n Byte. Die eingegebenen Daten können 0 Byte lang sein.
Verwenden Sie varbinary, wenn die Dateneinträge einer Spalte unterschiedlich lang sind.
Wenn n in einer Datendefinitions- oder Variablendeklarations-Anweisung nicht angegeben ist, beträgt die Standardlänge 1. Wenn n bei der CAST-Funktion nicht angegeben ist, beträgt die Standardlänge 30.
Binärdaten variabler Länge von 0 bis 231-1 (2.147.483.647) Byte.
Image hat nichts direkt mit dem Speicherformat von Bildern zu tun, vielmehr ist es ein neutrales Speicherformat für „fast“ beliebig große Binärdaten beliebigen Inhalts. Das können Bilder, Musik, Videos, speziell codierte Texte und sonstige Daten sein. Lediglich der Daten-Ersteller kann etwas mit diesem Datentyp anfangen, da nur er weiß was darin enthalten ist und wie er zu benutzen ist.
In EULANDA® werden in Teile der SQL-Registry Bilder und andere unstrukturierte Daten mit diesem Datentyp gespeichert.