1
我有一個包含大數字(超過20位數字)的浮點型字段。然後我想將它轉換爲varchar,而不是四捨五入。我嘗試了幾個查詢,但沒有。如何將大數字轉換爲Teradata中的varchar
這裏是一個例子:
SELECT CAST(A AS VARCHAR(25)) AS B
, TRIM(TRAILING '.' FROM CAST(CAST(A AS DECIMAL(25)) AS VARCHAR(25))) AS C
, TRIM(LEADING '0' FROM CAST(CAST(A AS FORMAT '9(25)') AS VARCHAR(25))) AS D
FROM (SELECT CAST(79999999999999999999.000 AS FLOAT) A) t0
而結果
B : 8.00000000000000E 019
C : 80000000000000000000
D : 80000000000000000000
我期望得到 '79999999999999999999'
任何建議表示讚賞。
t0表爲Teradata,A存儲爲float類型。我只是再次檢查數據,並且在提出問題時我錯了。 A在t0上的值是80000000000000000000.000而不是79999999999999999999.000。其他值爲1686287825877540.00000000; 8223372036854780000.00000000。在源文件中,第16位不是零。正如你所說,問題在於數據類型。謝謝@dnoeth – nurandi