当前位置: 首页 > news >正文

Kettle导入Excel文件进数据库时,数值发生错误的一种原因

1、问题描述及原因

在使用kettle读取Excel文件、并导入数据库时,需要读取Excel中的数值、日期(或日期+时间、时间)、文本这三种类型的列进来,发现读取其中的数值时,读取的数字就不对。

经调查,原因是,在“导出数据为Excel文件”时,Excel的数值格式,只能接受15位的有效数字,否则,其余的替换为0;而“使用Kettle读取Excel”时,超过17位的数值,读取时后四位会异常。如下图所示:

2、解决方法

当我们将数据库的数值列,导出Excel文件时,应该注意是否超过15位,超过则转为文本格式,才不会发生失真、丢失信息。

另外,当我们读取存在上文这样的超过15位的数值列的Excel文件时,注意先要将整个列转为文本格式,一般有三种方式,最简单的是“分列”功能,WPS也支持该功能,如下图所示(怎样批量将数值型数字转换成文本型数字? - 知乎)。

因为Excel中,本身不支持一键将超长的数值列,整个转为文本格式,所以就算调整了格式,也必须逐行点击一下。

3、日期或时间列的Kettle读取

类似的,日期、日期+时间、时间列的kettle读取,也往往会有转化问题,建议一律按照文本格式来读取,最后按照文本格式导入数据库,后续在数据库中利用相应的函数去转换格式。

http://www.lryc.cn/news/584455.html

相关文章:

  • 【大模型推理论文阅读】Enhancing Latent Computation in Transformerswith Latent Tokens
  • 【React】MQTT + useEventBus 实现MQTT长连接以及消息分发
  • Xavier上安装RTSP服务端教程
  • React封装过哪些组件-下拉选择器和弹窗表单
  • 虚拟项目[3D物体测量]
  • SpringBoot整合腾讯云新一代行为验证码
  • 【Note】Linux Kernel 实时技术深入:详解 PREEMPT_RT 与 Xenomai
  • 【TCP/IP】12. 文件传输协议
  • 堆的应用(讲解超详细)
  • 【AI大模型】LLM模型架构深度解析:BERT vs. GPT vs. T5
  • 基础 IO
  • 常见射频电路板工艺流程
  • 如何在VMware里的飞牛OS访问主机里面图片文件夹
  • C语言易错点整理(一)
  • 苍穹外卖—day1
  • Redis中BigKey的隐患
  • CMake指令:add_custom_command和add_custom_target详解
  • SYM32第二十天 ESP8266-01S和电脑实现串口通信(3)
  • 限流式保护器如何筑牢无人驾驶汽车充电站的安全防线
  • 智慧气象新范式:人工智能如何重构城市级气象服务生态?
  • 计算机网络实验——以太网安全实验
  • Java 枚举详解:从基础到实战,掌握类型安全与优雅设计
  • GO 启动 简单服务
  • 前端项目集成husky + lint-staged + commitlint
  • 蓝桥云课 矩形切割-Java
  • AI 智能体:从辅助工具到自主决策者
  • AI测试革命:从智能缺陷检测到自愈式测试框架的工业实践
  • 数据提取之bs4(BeautifuSoup4)模块与Css选择器
  • Sigma-Aldrich细胞培养基础知识:细胞培养的安全注意事项
  • centos7 安装jenkins