使用Bteq导出消除csv中Number / Integer列的指数值

时间:2019-04-10 14:28:48

标签: teradata export-to-csv

使用BTEQ脚本,我们将表数据导出到.csv文件中。该表具有整数,字符和日期列数据。在将Integer值列导入csv时,它将指数存储在csv文件中,而不是实际的Integer值。

示例:

来源-表格数据

   emp_no       name   salary
   15989895410  A      10000.12
   20519856871  B      23000.62

输出:导出的csv文件数据

   emp_no       name   salary
   1.59E+11  A      10000.12
   2.05E+11  B      23000.62

1 个答案:

答案 0 :(得分:0)

在Teradata SQL助手中,您应该在此设置(工具->选项)中更改浮点格式。

Answerset Date Format

对于BTEQ,最好在Viewobject或SQL中定义首选格式,如下所示。

.logon teradata/user,password

.SET RECORDMODE OFF;
.SET FORMAT OFF ;
.SET TITLEDASHES OFF;
.SET SEPARATOR ',';


.export report file=testdata.csv;
.set width 2000;

select
col1 (format '----------9') as colA,
col1 (int) as colB,
col1 as colC
from testtable;

.EXPORT RESET
.logoff

投射为int和格式化两者均如下所示。在这种情况下,col1为float。

输出:

   colA,       colB,                  colC
      4,          4, 4.00000000000000E 000
     35,         35, 3.50000000000000E 001
     95,         95, 9.50000000000000E 001
     79,         79, 7.90000000000000E 001
     43,         43, 4.30000000000000E 001
     66,         66, 6.60000000000000E 001
     59,         59, 5.90000000000000E 001
      5,          5, 5.00000000000000E 000
     91,         91, 9.10000000000000E 001