Задать вопрос
Marusio
@Marusio

Что такое RAND("totally_not_random") в SQL?

Нашла такой запрос, все понятно кроме последней строчки, что такое RAND("totally_not_random") ?
SELECT *
FROM t1
WHERE date between '2024-11-01' and '2024-11-02'
RAND("totally_not_random") > 0.92
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
AshBlade
@AshBlade
Просто хочу быть счастливым
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В запросе ошибка, он выполняться не будет.
В MySQL RAND("totally_not_random") эквивалентен RAND(0), то есть seed генератора псевдослучайных чисел выставляется в 0. При этом каждый раз будет генерироваться одна и та же последовательность значений.
WITH `t` (`row`) AS (
  SELECT 1
  UNION SELECT 2
  UNION SELECT 3
)
SELECT `row`, RAND("totally_not_random"), RAND(0), RAND(1) FROM `t`

| row | RAND("totally_not_random") | RAND(0)             | RAND(1)            |
| --- | -------------------------- | ------------------- | ------------------ |
| 1   | 0.15522042769493574        | 0.15522042769493574 | 0.4054035371219773 |
| 2   | 0.620881741513388          | 0.620881741513388   | 0.8716141803857071 |
| 3   | 0.6387474552157777         | 0.6387474552157777  | 0.1418603212962489 |
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы