J'ai dans la colonne de table, quel type est CHARACTER VARYING[]
(C'est-à-dire une matrice)
J'ai besoin de concaténate existant des rangées avec un autre tableau
Ceci est mon code:
UPDATE my_table SET
col = array_cat(col, ARRAY['5','6','7'])
erreur renvoyée: function array_cat(character varying[], text[]) does not exist
L'erreur de la raison est que ce type de tableau ne correspond pas correctement?
Question: Comment convertir ce tableau ARRAY['5','6','7']
Comme CHARACTER VARYING[]
Type?
Cast to 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[]
Vous pouvez utiliser le fichier postgreSQL spécifique ::varchar[]
Ou la standard CAST(colname AS varchar[])
... Bien que les matrices ne soient pas cohérentes à travers la mise en œuvre de la base de données, il n'y aura pas beaucoup d'avantage à l'utilisation de la syntaxe standard.