---
title: "UNIFORM - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: UNIFORM 声明 UNIFORM(&lt;min&gt; , &lt;max&gt; , &lt;gen&gt;) 说明 该函数返回一个符合均匀分布（Uniform Distribution）的整数或浮点数。 min , max 的取值必须是标量值，不随行迭代而变。例如，常量、标量函数等。PL 里还可以是 @v1 、 1+@v3 等。 MySQL …
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.5 LTS

# UNIFORM

更新时间：2026-07-15 20:42:45

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/400.functions-of-mysql-mode/200.single-row-functions-of-mysql-mode/400.mathematical-functions-of-mysql-mode/4000.uniform-of-mysql-mode.md)  

## 声明

```sql
UNIFORM(<min> , <max> , <gen>)

```

## 说明

该函数返回一个符合均匀分布（Uniform Distribution）的整数或浮点数。

- `min`, `max` 的取值必须是标量值，不随行迭代而变。例如，常量、标量函数等。PL 里还可以是 `@v1`、`1+@v3` 等。
 - MySQL 模式下，当 `min` 或 `max` 均为整数时，`UNIFORM()` 函数的输出结果为整数；否则，`UNIFORM()` 函数的输出结果为浮点数。
 - `gen` 是一个数值生成函数，通常使用 `RANDOM()` 函数生成。如果传入值是一个常量，则 `UNIFORM()` 函数返回值也为一个定值。

## 示例

如下示例为均匀生成 1~10 之间的整数。

```shell
obclient> SELECT v, COUNT(*) FROM (SELECT UNIFORM(1, 10, RANDOM()) v FROM TABLE(GENERATOR(1000000))) x GROUP BY v ORDER BY v;
+------+----------+
| v    | count(*) |
+------+----------+
|    1 |   100738 |
|    2 |   100119 |
|    3 |   100223 |
|    4 |    99537 |
|    5 |   100125 |
|    6 |   100001 |
|    7 |   100275 |
|    8 |    99235 |
|    9 |    99837 |
|   10 |    99910 |
+------+----------+
10 rows in set

```

如下示例说明返回的结果类型和参数的类型有关。

```shell
obclient> SELECT UNIFORM(0.0, 10, RANDOM()) FROM TABLE(GENERATOR(4)) ORDER BY 1;
+----------------------------+
| UNIFORM(0.0, 10, RANDOM()) |
+----------------------------+
|         2.3520877625884653 |
|          4.155845987385725 |
|          8.323930497420852 |
|          9.844002748532109 |
+----------------------------+
4 rows in set

obclient> SELECT UNIFORM(0, 10, RANDOM()) FROM TABLE(GENERATOR(4)) ORDER BY 1;
+--------------------------+
| UNIFORM(0, 10, RANDOM()) |
+--------------------------+
|                        0 |
|                        4 |
|                        8 |
|                        9 |
+--------------------------+
4 rows in set

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
