sigra
3. November 2008 um 10:18
1
Ich muß Arrays in Zeilen umwandeln. Ich habe zum Beispiel den Array {5,77,39,19}. Ich brauche eine Tabelle mit dem Index in einer Kolumne und das Element in der anderen Kolumne:
index | element
------+--------
1 | 5
2 | 77
3 | 39
4 | 19
Welchen Befehl macht dieses?
sigra:
Ich muß Arrays in Zeilen umwandeln. Ich habe zum Beispiel den Array {5,77,39,19}. Ich brauche eine Tabelle mit dem Index in einer Kolumne und das Element in der anderen Kolumne:
index | element
------+--------
1 | 5
2 | 77
3 | 39
4 | 19
Welchen Befehl macht dieses?
Du kannst Du eine Funktion array_to_column() basteln, guggst Du hier:
array_to_column function - David Fetter - org.postgresql.pgsql-hackers - MarkMail
Dann noch eine Sequenze und viola:
test=# create sequence foo_seq;
CREATE SEQUENCE
test=*# select nextval('foo_seq'), * from array_to_column(string_to_array('5,77,39,19',','));
nextval | array_to_column
---------+-----------------
1 | 5
2 | 77
3 | 39
4 | 19
(4 rows)
Andreas