Random value in [0, 1), using the REAL per-dialect function/expression
(deliberately not assumed symmetric):
mysql / mariadb: RAND()
postgres / cockroachdb / redshift: RANDOM()
mssql: RAND()
oracle: DBMS_RANDOM.VALUE (no RAND()/RANDOM() exists in Oracle)
db2: RAND()
sqlite: RANDOM() returns a signed 64-bit integer, not a [0,1)
float -- normalized here via (0.5 + RANDOM() / 18446744073709551616.0).
snowflake: RANDOM() also returns a 64-bit integer, not [0,1) --
normalized here via UNIFORM(0::FLOAT, 1::FLOAT, RANDOM()), which is
Snowflake's documented way to get a uniform float.
clickhouse: rand() returns a UInt32, not [0,1) -- randCanonical()
is ClickHouse's documented [0,1) float generator.
Random value in
[0, 1), using the REAL per-dialect function/expression (deliberately not assumed symmetric):RAND()RANDOM()RAND()DBMS_RANDOM.VALUE(noRAND()/RANDOM()exists in Oracle)RAND()RANDOM()returns a signed 64-bit integer, not a [0,1) float -- normalized here via(0.5 + RANDOM() / 18446744073709551616.0).RANDOM()also returns a 64-bit integer, not [0,1) -- normalized here viaUNIFORM(0::FLOAT, 1::FLOAT, RANDOM()), which is Snowflake's documented way to get a uniform float.rand()returns aUInt32, not [0,1) --randCanonical()is ClickHouse's documented [0,1) float generator.