news 2026/4/23 16:50:21

外部表numeric列包含空值如何插入到本地表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
外部表numeric列包含空值如何插入到本地表

文章目录

  • 环境
  • 症状
  • 问题原因
  • 解决方案

环境

系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.7.7,4.7.6,4.7.5,4.3.2,4.1.1

症状

从Oracle中导出的表中包含许多空字符,但数据类型是numeric或timestamp,查询外部表和插入本地表会报错,信息如下:

cqsm=# select * from fwbb_time ; --fwbb_time是外部表

ERROR: invalid input syntax for type numeric: “”

CONTEXT: COPY fwbb_time, line 4, column age: “”

STATEMENT: select * from fwbb_time ;

ERROR: invalid input syntax for type numeric: “”

CONTEXT: COPY fwbb_time, line 4, column age: “”

问题原因

在HGDB中空字符串与NULL值并不相等,所以会造成numeric=''的错误语义

解决方案

解决的方法有很多,如果只是一张单表且数据量不大可以使用case when语句来处理(此种方法仍可以保证空值不被转换,适用于特殊场景),方法如下:

1、创建外部表,将numeric列先用varchar类型代替

createforeigntablef2wbb_time(idint,nametext,fgvarchar(8),agevarchar,time_otext)server pg_file_server options(filename'/home/postgres/wbb_time.csv',format'csv',header'true',delimiter',');

2、从外部表插入到本地表

selectid,name,casewhenage=''thenNULLelseageend::realasage,time_ointob2wbb_timefromf2wbb_time;

3、修改本地表列数据类型

altertableb2wbb_timealtercolumnagetypenumeric;altertableb2wbb_timealterCOLUMNtime_otypetimestampUSINGtime_o::timestampwithouttimezone;

4、查询数据

cqsm=# select * from b2wbb_time ;id|name|age|time_o----+--------+---------+---------------------1|highgo|1|2019-09-2101:32:001|highgo|1|2019-09-2101:32:002|highgo||2019-09-2101:32:00(3rows)cqsm=# \d b2wbb_timeTable"public.b2wbb_time"Column|Type|Modifiers---------+-----------------------------+-----------id|integer|name|text|age|numeric|time_o|timestampwithouttimezone|
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 14:31:49

Open-AutoGLM架构深度剖析:90%工程师忽略的关键设计细节

第一章:Open-AutoGLM架构深度剖析:90%工程师忽略的关键设计细节在深入Open-AutoGLM的实现机制时,多数开发者仅关注其对外暴露的API接口和推理性能,却忽视了底层架构中几个决定系统稳定性和扩展性的核心设计。这些被忽略的细节不仅…

作者头像 李华
网站建设 2026/4/23 13:17:43

Open-AutoGLM连不上?,20年专家教你精准定位有效地址的4大策略

第一章:Open-AutoGLM连不上?问题的本质与背景在实际部署和使用 Open-AutoGLM 过程中,用户频繁反馈“无法连接”的问题。这一现象背后并非单一故障点所致,而是涉及网络架构、服务配置与认证机制等多重因素的综合体现。服务端可达性…

作者头像 李华
网站建设 2026/4/23 14:48:56

如何用智谱AutoGLM实现手机全自动操作?99%的人都不知道的隐藏功能

第一章:智谱Open-AutoGLM怎么控制自己的手机 通过集成自然语言理解与自动化执行能力,智谱AI推出的Open-AutoGLM为用户提供了以对话方式远程操控智能手机的新路径。该系统基于大语言模型生成操作指令,并通过轻量级代理服务在安卓设备上执行具体…

作者头像 李华
网站建设 2026/4/23 1:46:03

用DeepSeek生成Python可视化代码:Matplotlib/Seaborn图表快速实现

Python 可视化快速指南:Matplotlib 与 Seaborn 高效实践数据可视化是数据分析中不可或缺的一环,它不仅能帮助我们发现数据中的模式、趋势和异常,还能有效传达分析结果。Python 作为数据科学的主流语言,提供了丰富的可视化工具&…

作者头像 李华
网站建设 2026/4/23 13:12:17

Open-AutoGLM性能实测:3倍效率提升背后的秘密武器

第一章:Open-AutoGLM性能实测:3倍效率提升背后的秘密武器 在大规模语言模型推理场景中,Open-AutoGLM 以实测性能提升近3倍的表现引发广泛关注。这一突破并非来自单一优化点,而是多维度技术协同的结果。其核心在于动态计算图压缩与…

作者头像 李华
网站建设 2026/4/18 14:07:13

Open-AutoGLM核心架构剖析:揭秘GitHub高星项目的底层设计原理

第一章:Open-AutoGLM核心架构剖析:项目概述Open-AutoGLM 是一个面向自动化通用语言建模任务的开源框架,旨在通过模块化设计与动态调度机制,实现从数据预处理、模型训练到推理部署的端到端流程整合。该项目基于 PyTorch 构建&#…

作者头像 李华