You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL如何生成含指定数值的虚拟列?无需建表或批量插入

PostgreSQL生成含指定数值虚拟列的简便方法

核心解决方案

不用逐值加括号的VALUES语法、无需临时表或Excel导入,直接通过字符串转多行的方式生成虚拟列:

  • 方法1:string_to_array + unnest组合
    把所有需要的数值用逗号拼接成字符串,转成数组后拆分为单独行,适合批量复制粘贴大量数值:

    SELECT unnest(string_to_array('231,356,459,782,1001,1234,5678', ','))::integer AS companyid;
    

    说明:::integer用于将文本类型的数值转为整数,可按需调整为::bigint等类型;如果数值格式特殊,可灵活修改字符串分隔符。

  • 方法2:regexp_split_to_table直接拆分
    效果和方法1一致,语法更简洁:

    SELECT regexp_split_to_table('231,356,459,782,1001', ',')::integer AS companyid;
    

你之前尝试的问题原因

SELECT (231,356,...) AS companyid这种写法生成的是单行的记录类型(record),结果是一行包含所有值的列,而非每行一个数值的虚拟列,因此不符合预期。

内容的提问来源于stack exchange,提问作者santee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 12:50:17