Генерация случайного числа в наследстве Bigquery - PullRequest
0 голосов
/ 15 октября 2018

Я хочу получить случайное четырехзначное целое число в BigQuery.Я попробовал классический

SELECT CAST (10000 * RAND () AS INTEGER) как число, но он дает 0

Добавление этого вопроса, так как результаты могут удивить программистов, привыкших к CAST, выполняющих TRUNC в большинствеДругие языки.

SELECT word, CAST(round(10000*RAND(1)) AS integer) as rand
FROM [publicdata:samples.shakespeare]
order by rand
#Sample size needed = 10
limit 10

Я получаю результат как ноль введите описание изображения здесь

1 Ответ

0 голосов
/ 16 октября 2018

Если вам нужно 10 случайных чисел:

SELECT CAST(round(10000*RAND(1)) AS integer) as rand
FROM [publicdata:samples.shakespeare]
LIMIT 10

С # standardSQL

#standardSQL
SELECT CAST(round(10000*RAND()) AS INT64) as rand
FROM UNNEST(GENERATE_ARRAY(1,10))

enter image description here

Постановка задачиНепонятно о цели, но именно так вы генерируете случайные числа от 0 до 9999.

...