2020-04-03 13:23:32 +00:00
|
|
|
---
|
2022-08-28 14:53:34 +00:00
|
|
|
slug: /en/sql-reference/table-functions/generate
|
2022-04-09 13:29:05 +00:00
|
|
|
sidebar_position: 47
|
|
|
|
sidebar_label: generateRandom
|
2020-04-03 13:23:32 +00:00
|
|
|
---
|
|
|
|
|
2022-06-02 10:55:18 +00:00
|
|
|
# generateRandom
|
2020-02-04 10:59:26 +00:00
|
|
|
|
|
|
|
Generates random data with given schema.
|
|
|
|
Allows to populate test tables with data.
|
2023-01-30 14:23:22 +00:00
|
|
|
Not all types are supported.
|
2020-02-04 10:59:26 +00:00
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
``` sql
|
2021-03-13 18:18:45 +00:00
|
|
|
generateRandom('name TypeName[, name TypeName]...', [, 'random_seed'[, 'max_string_length'[, 'max_array_length']]])
|
2020-02-04 10:59:26 +00:00
|
|
|
```
|
|
|
|
|
2021-02-15 21:38:32 +00:00
|
|
|
**Arguments**
|
2020-02-04 10:59:26 +00:00
|
|
|
|
2020-03-21 04:11:51 +00:00
|
|
|
- `name` — Name of corresponding column.
|
|
|
|
- `TypeName` — Type of corresponding column.
|
2023-01-30 14:23:22 +00:00
|
|
|
- `max_array_length` — Maximum elements for all generated arrays or maps. Defaults to `10`.
|
2020-03-21 04:11:51 +00:00
|
|
|
- `max_string_length` — Maximum string length for all generated strings. Defaults to `10`.
|
|
|
|
- `random_seed` — Specify random seed manually to produce stable results. If NULL — seed is randomly generated.
|
2020-02-04 10:59:26 +00:00
|
|
|
|
|
|
|
**Returned Value**
|
|
|
|
|
|
|
|
A table object with requested schema.
|
|
|
|
|
2022-06-02 10:55:18 +00:00
|
|
|
## Usage Example
|
2020-02-04 10:59:26 +00:00
|
|
|
|
2020-03-20 10:10:48 +00:00
|
|
|
``` sql
|
2020-04-24 21:47:27 +00:00
|
|
|
SELECT * FROM generateRandom('a Array(Int8), d Decimal32(4), c Tuple(DateTime64(3), UUID)', 1, 10, 2) LIMIT 3;
|
2020-02-04 10:59:26 +00:00
|
|
|
```
|
2020-03-20 10:10:48 +00:00
|
|
|
|
|
|
|
``` text
|
2020-02-04 10:59:26 +00:00
|
|
|
┌─a────────┬────────────d─┬─c──────────────────────────────────────────────────────────────────┐
|
|
|
|
│ [77] │ -124167.6723 │ ('2061-04-17 21:59:44.573','3f72f405-ec3e-13c8-44ca-66ef335f7835') │
|
|
|
|
│ [32,110] │ -141397.7312 │ ('1979-02-09 03:43:48.526','982486d1-5a5d-a308-e525-7bd8b80ffa73') │
|
|
|
|
│ [68] │ -67417.0770 │ ('2080-03-12 14:17:31.269','110425e5-413f-10a6-05ba-fa6b3e929f15') │
|
|
|
|
└──────────┴──────────────┴────────────────────────────────────────────────────────────────────┘
|
|
|
|
```
|
2023-01-12 22:29:23 +00:00
|
|
|
|
|
|
|
```sql
|
|
|
|
CREATE TABLE random (a Array(Int8), d Decimal32(4), c Tuple(DateTime64(3), UUID)) engine=Memory;
|
|
|
|
INSERT INTO random SELECT * FROM generateRandom() LIMIT 2;
|
|
|
|
SELECT * FROM random;
|
|
|
|
```
|
|
|
|
|
|
|
|
```text
|
|
|
|
┌─a────────────────────────────┬────────────d─┬─c──────────────────────────────────────────────────────────────────┐
|
|
|
|
│ [] │ 68091.8197 │ ('2037-10-02 12:44:23.368','039ecab7-81c2-45ee-208c-844e5c6c5652') │
|
|
|
|
│ [8,-83,0,-22,65,9,-30,28,64] │ -186233.4909 │ ('2062-01-11 00:06:04.124','69563ea1-5ad1-f870-16d8-67061da0df25') │
|
|
|
|
└──────────────────────────────┴──────────────┴────────────────────────────────────────────────────────────────────┘
|
2023-01-17 15:38:10 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
## Related content
|
|
|
|
- Blog: [Generating random data in ClickHouse](https://clickhouse.com/blog/generating-random-test-distribution-data-for-clickhouse)
|