PostgreSQL新手求助:如何用*批量将全表字段转为TEXT类型查询?
PostgreSQL批量将所有字段转为TEXT类型查询的方法
方案1:将整行转为单个TEXT值
如果只需要把整行的所有字段合并成一个TEXT格式的字符串返回,可以直接把整行记录转为TEXT类型:
SELECT row(*)::TEXT FROM your_table;
返回的结果是类似 (字段1值,字段2值,字段3值) 的字符串,包含所有字段的内容。
方案2:每个字段单独以TEXT列返回(无需手动逐个指定字段)
如果需要每个字段单独作为TEXT类型的列输出,又不想手动逐个写 字段名::TEXT,可以通过动态SQL自动生成查询语句:
- 执行以下SQL(替换
your_table为你的表名,public为表所在的 schema):
SELECT 'SELECT ' || string_agg(quote_ident(column_name) || '::TEXT', ', ') || ' FROM your_table;' FROM information_schema.columns WHERE table_name = 'your_table' AND table_schema = 'public';
- 复制查询结果生成的SQL语句执行,就能得到所有字段以TEXT类型返回的结果。
内容的提问来源于stack exchange,提问作者iván
相关产品推荐
相关产品推荐

