私はテーブル列にあり、そのタイプは_CHARACTER VARYING[]
_(つまり配列)です。
他の配列と既存の行を連結する必要があります
これは私のコードです:
_UPDATE my_table SET
col = array_cat(col, ARRAY['5','6','7'])
_
返されたエラー:function array_cat(character varying[], text[]) does not exist
理由エラーは、配列型が正しく一致しないことですか?
質問:この配列を_ARRAY['5','6','7']
_を_CHARACTER VARYING[]
_タイプに変換するにはどうすればよいですか?
_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[]
_
PostgreSQL固有の_::varchar[]
_または標準のCAST(colname AS varchar[])
...を使用できますが、配列はデータベースの実装全体で一貫していないため、標準の構文を使用してもそれほどメリットはありません。