[英]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.