teradata 中的连续随机数
continuous random number in teradata
这很好用:
SELECT RANDOM(0,1)
但生成一个整数(0 或 1)。是否可以在teradata中获得连续的随机数(即0和1之间的均匀分布数)?
刚刚找到一个可能的答案:
SELECT CAST(RANDOM(0,999999999) AS FLOAT)/1000000000
摘自 here.
您可以使用此 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);
这很好用:
SELECT RANDOM(0,1)
但生成一个整数(0 或 1)。是否可以在teradata中获得连续的随机数(即0和1之间的均匀分布数)?
刚刚找到一个可能的答案:
SELECT CAST(RANDOM(0,999999999) AS FLOAT)/1000000000
摘自 here.
您可以使用此 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);