2013-05-28 23 views
10

ho in colonna della tabella, che tipo è CHARACTER VARYING[] (cioè array)conversione tipi di array

ho bisogno di concatenare esisteva righe whith altra serie

Questo è il mio codice:

UPDATE my_table SET 
col = array_cat(col, ARRAY['5','6','7']) 

tornato errore: function array_cat(character varying[], text[]) does not exist

Errore di motivo: i tipi di array non corrispondono correttamente?

Domanda: come convertire questo array ARRAY['5','6','7'] come CHARACTER VARYING[] tipo?

risposta

25

Fusioni a varchar[]:

> SELECT ARRAY['5','6','7']::varchar[], pg_typeof(ARRAY['5','6','7']::varchar[]); 

SELECT ARRAY['5','6','7']::varchar[], pg_typeof(ARRAY['5','6','7']::varchar[]); 
    array |  pg_typeof  
---------+--------------------- 
{5,6,7} | character varying[] 

È possibile utilizzare la specifica di PostgreSQL ::varchar[] o lo standard CAST(colname AS varchar[]) ... anche se, come gli array non sono coerenti tra le implementazioni di database ci saranno non essere molto vantaggio di utilizzare la sintassi standard .

+1

... è così semplice! Grazie! –

Problemi correlati