oracle - 将 oracle 表中的前导零提取到文件中
问题描述
我正在从 oracle 表中提取数据到文本文件,并且我有以下数字列。当我在文件中选择以下列时,它会给我所有我想要抑制的前导零。
Select ltrim(col_1,'0'),ltrim(col_2,'0'),ltrim(col_3,'0') from table1
数据类型:
Col_1 ---NUMBER(10,2),
Col_2 ---NUMBER(38,0),
Col_3 ---NUMBER(15,1)
电流输出:
00000303.44|0| 00000000000008.2
00000000.00|26| 00000000000030.2
00000473.40|0| 00000000000010.0
预期输出:
303.44|0|8.2
0|26|30.2
473.4|0|10
如果我需要更改数据类型以获得预期输出,请告诉我。我什至试过TO_CHAR(TRIM(LEADING 0 FROM col_name)
我没有得到预期的输出。
解决方案
这是由数据阶段作业的最后一个输出阶段中设置的数据类型引起的。当一列设置为小数时,datastage 将用前导零填充剩余位置,直到您的小数字段的大小。解决此问题的最简单方法是在文件输出阶段之前放置一个转换,并在最后阶段将所有列转换为 varchar,修剪所有前导零。
推荐阅读
- javascript - array.includes 的 javascript 奇怪行为
- javascript - 试图通过文本元素循环,并一一设置动画
- c++ - 我应该如何减轻出现两次的cin?
- c++ - 如何使用 C+ 从 csv 文件中导入字典
- opengl - OpenGL库是否包含不需要在Visual Studio的设置中指定的目录?
- python - 范围不连续时的 Pandas Groupby Ranges
- powershell - Powershell 导出到 csv 时间跨度总和
- javascript - 如何从嵌入式社交媒体帖子中删除边框?
- javascript - 检查文章中所有元素的值
- linux - 将 sftp 文件名存储到 Unix 中的局部变量