繁体   English   中英

在SAS中使用代理键导入Teradata表

[英]Importing Teradata table with surrogate key in sas

我正在尝试从SAS导入Teradata表。 teradata表具有21位代理密钥。 当我从SAS导入时,代理键列将以2.011E12145的形式导入,但是其实际值是21位数字。 我尝试了以下代码

Data chk;
format p_key $30.;
set chk;
p_key=surrogate;
run;

但这没有用吗?

如何避免这种情况并以数字形式导入呢?

请注意,SAS可以准确存储的最大整数是2 ^ 53-1(从内存中调用),该整数将是9,007,199,254,740,990(16位长)。 但是,Teradata支持的数字最大为2 ^ 64-1(BigInt数据类型),这比SAS所支持的数字大得多。

我怀疑您的SAS-Teradata访问设置为自动将BigInt类型转换为浮于SAS中,这会导致精度损失。

请参阅http://support.sas.com/kb/39/831.html

我能看到的唯一其他解决方案是将21位数字键作为字符类型导入。 您可以通过在Teradata的视图内将BigInt转换为char数据类型来实现。 (请参见上面的链接中的其他处理方式)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM