2016-10-03 170 views
0

這工作正常:連續隨機數中的Teradata

SELECT RANDOM(0,1) 

,但產生的整數(0或1)。是否有可能獲得teradata中的連續隨機數(即統一分佈的數字介於0到1之間)?

回答

2

您可以使用此UDF(或只是計算):

REPLACE FUNCTION Rand_01() /* 0 <= r <= 1 */ 
RETURNS FLOAT 
LANGUAGE SQL 
CONTAINS SQL 
NOT DETERMINISTIC 
SQL SECURITY DEFINER 
COLLATION INVOKER 
INLINE TYPE 1 
RETURN 
    ((CAST(RANDOM(-2147483648, 2147483647) AS FLOAT) + 2147483648)/4294967295); 
0

剛剛發現一個可能的答案:

SELECT CAST(RANDOM(0,999999999) AS FLOAT)/1000000000 

here服用。

+1

這可能會返回未免有些偏頗隨機值,更好地運用全方位intergers的。 – dnoeth