前端之家收集整理的这篇文章主要介绍了
postgresql – 转换数组类型,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有在表列,哪个类型是CHARACTER VARYING [](即数组)
我需要串联存在的行与其他数组
这是我的代码:
UPDATE my_table SET
col = array_cat(col,ARRAY['5','6','7'])
返回错误:函数array_cat(字符变化[],文本[])不存在
原因错误是数组类型不匹配吗?
问题:如何转换这个数组ARRAY [‘5′,’6′,’7’]为CHARACTER VARYING [] type?
投给varchar []:
> SELECT ARRAY['5','7']::varchar[],pg_typeof( ARRAY['5','7']::varchar[] );
SELECT ARRAY['5','7']::varchar[] );
array | pg_typeof
---------+---------------------
{5,6,7} | character varying[]
您可以使用Postgresql特定的:: varchar []或标准CAST(colname AS varchar [])…虽然数组在数据库实现中不一致,但使用标准语法并不会有太大的优势.