array() (Funktion)
Die Funktion array() erstellt ein Array eines bestimmten Typs.
Syntax
Die Funktion array() hat folgende Syntax:
array = array(int type);
Der Wert '
type ist ein ganzzahliger Code, der den Typ des zu erstellenden Arrays angibt, wie in der folgenden Tabelle dargestellt:| Code erstellen | Typ | Beschreibung |
|---|---|---|
| 1 | int1 | 8 Bit. |
| 2 | int2 | 16 Bit. |
| 3 | int4 | 32 Bit. |
| 4 | int8 | 64 Bit. |
| 5 | Datum | Datumsbereich vom 1. Januar 0001 bis 31. Dezember 9999. Die Plattenbelegung beträgt 4 Byte. |
| 6 | Zeit | Stunden, Minuten und Sekunden mit bis zu sechs Dezimalstellen. Der Bereich ist 00:00:00.000000 - 23:59:59.999999. Die Plattenbelegung beträgt 8 Byte. |
| 7 | Zeitmarke | Datumsteil und Zeitteil, wobei für Sekunden bis zu sechs Dezimalstellen gespeichert werden. Der Bereich geht vom 1. Januar 0001 00:00:00.000000 bis zum 31. Dezember 9999 23:59:59.999999. Die Plattenbelegung beträgt 8 Byte. |
| 8 | varchar | Variable Länge mit einer maximalen Länge von 64.000 Zeichen. Es erfolgt kein Auffüllen mit Leerzeichen; die Daten werden wie eingegeben gespeichert. Für Zeichenfolgen mit variabler Länge (varchar) der Länge n beträgt die Plattenbelegung nicht mehr als n + 2 Byte. |
| 9 | nvarchar | Unicode-Daten variabler Länge mit einer maximalen Länge von 16.000 Zeichen. Bei Verwendung der UTF-8-Codierung benötigt jeder Unicode-Codepunkt 1-4 Byte Speicher. Eine aus 10 Zeichen bestehende Zeichenfolge benötigt daher 10 Byte Speicher, wenn sie in ASCII-Darstellung vorliegt, bis zu 20 Byte, wenn sie im lateinischen Zeichensatz vorliegt, oder 40 Byte, wenn sie in reiner Kanji-Darstellung vorliegt (aber in der Regel 30 Byte). |
| 10 | float | Gleitkommazahl mit einer Genauigkeit von 1 bis 15. Eine Genauigkeit kleiner als 6 verwendet 4 Byte. Bei einer Genauigkeit von 7 bis 15 werden 8 Byte verwendet. |
| 11 | doppelt | Wert, der äquivalent zum Gleitkommawert (float) ist und eine Genauigkeit von 15 hat, wobei 8 Byte erforderlich sind. |
| 15. | Zeit mit Zeitzone | Stunden, Minuten, Sekunden mit bis zu sechs Dezimalstellen und Zeitzonenunterschied zur GMT. |
Rückgabe
Die Funktion erstellt den angegebenen Array-Typ.Beispiel
Betrachten Sie das folgende Beispiel:
create table array_t(col1 int,col2 varchar(100));
CREATE TABLE
Mit der folgenden Abfrage INSERT wird ein Array des Typs 'int2' erstellt und in der Tabelle gespeichert:
insert into array_t values(1,array(2));
INSERT 0 1
Die folgende Abfrage zeigt, dass ein Array erstellt und in der Tabelle 'array_t' gespeichert
wurde:
select * from array_t;
col1 | col2
------+------
1 | ARR
(1 row)