

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# fungsi RANDOM
<a name="RANDOM"></a>

Fungsi RANDOM menghasilkan nilai acak antara 0,0 (inklusif) dan 1,0 (eksklusif). 

## Sintaksis
<a name="RANDOM-synopsis"></a>

```
RANDOM()
```

## Jenis pengembalian
<a name="RANDOM-return-type"></a>

RANDOM mengembalikan nomor PRESISI GANDA. 

## Contoh
<a name="RANDOM-examples"></a>

1. Hitung nilai acak antara 0 dan 99. Jika angka acak adalah 0 hingga 1, kueri ini menghasilkan angka acak dari 0 hingga 100: 

   ```
   select cast (random() * 100 as int);
   
   INTEGER
   ------
   24
   (1 row)
   ```

1. Ambil sampel acak seragam dari 10 item:

   ```
   select * 
   from sales
   order by random()
   limit 10;
   ```

   Sekarang ambil sampel acak 10 item, tetapi pilih item secara proporsional dengan harganya. Misalnya, item yang dua kali harga yang lain akan dua kali lebih mungkin muncul dalam hasil kueri:

   ```
   select * 
   from sales
   order by log(1 - random()) / pricepaid
   limit 10;
   ```

1. Contoh ini menggunakan perintah SET untuk menetapkan nilai SEED sehingga RANDOM menghasilkan urutan angka yang dapat diprediksi. 

   Pertama, kembalikan tiga bilangan bulat RANDOM tanpa mengatur nilai SEED terlebih dahulu: 

   ```
   select cast (random() * 100 as int);
   INTEGER
   ------
   6
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   68
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   56
   (1 row)
   ```

   Sekarang, atur nilai SEED ke`.25`, dan kembalikan tiga angka RANDOM lagi: 

   ```
   set seed to .25;
   select cast (random() * 100 as int);
   INTEGER
   ------
   21
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   79
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   12
   (1 row)
   ```

   Terakhir, setel ulang nilai SEED ke`.25`, dan verifikasi bahwa RANDOM mengembalikan hasil yang sama dengan tiga panggilan sebelumnya: 

   ```
   set seed to .25;
   select cast (random() * 100 as int);
   INTEGER
   ------
   21
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   79
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   12
   (1 row)
   ```