簡體   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