2017-01-30 3 views
1

Ich möchte einen beliebigen Namen für den Ausdruckstyp anzeigen. So etwas wie "Typ" -Funktion in Python.Wie wird der Postgresql-Ausdruckstyp angezeigt?

Um etwas wie diese funktionieren:

select type(1); 
'int' 

select type(ROW(1, 'abc')); 
'row(int, text)' 

select type(select * from t1); 
'setof t1' 

Gibt es etwas wie dies in postgresql?

Antwort

5

Es heißt pg_typeof() obwohl es nicht genau das, was Sie

select pg_typeof(1), ROW(1, 'abc'); 

Returns

pg_typeof | row  
----------+-------- 
integer | (1,abc) 

Sie nicht jedoch pg_typeof(select * from t1), wollen nicht einmal mit einem limit 1 verwenden können, weil die Funktion als einen einzigen Ausdruck erfordert seine Eingabe, nicht mehrere Spalten. Sie könnten jedoch etwas tun wie: pg_typeof((select some_column from t1))

Verwandte Themen