

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# SQRT 函数
SQRT

 SQRT 函数返回 `NUMERIC` 值的平方根。平方根是一个乘以自身以得到给定值的数字。

## 语法
语法

```
SQRT(expression)
```

## 参数
参数

 *expression*   
表达式必须具有 `INTEGER`、`DECIMAL` 或 `FLOAT` 数据类型，或隐式转换为这些数据类型的数据类型。*expression* 可以包含函数。

## 返回类型
返回类型

`DOUBLE PRECISION`

## 示例
示例

要返回 16 的平方根，请使用以下示例。

```
SELECT SQRT(16);
               
+------+
| sqrt |
+------+
|    4 |
+------+
```

要使用隐式类型转换返回字符串 `16` 的平方根，请使用以下示例。

```
SELECT SQRT('16');
               
+------+
| sqrt |
+------+
|    4 |
+------+
```

要在使用 ROUND 函数后返回 16.4 的平方根，请使用以下示例。

```
SELECT SQRT(ROUND(16.4));
               
+------+
| sqrt |
+------+
|    4 |
+------+
```

要返回给定圆面积时的半径长度，请使用以下示例。例如，当给定以平方英寸为单位的面积时，它以英寸为单位计算半径。示例中的面积为 20。

```
SELECT SQRT(20/PI()) AS radius;
               
+--------------------+
|      radius        |
+--------------------+
| 2.5231325220201604 |
+--------------------+
```

以下示例使用 TICKIT 示例数据库。有关更多信息，请参阅 [示例数据库](c_sampledb.md)。

要返回 SALES 表中 COMMISSION 值的平方根，请使用以下示例。COMMISSION 列是 `DECIMAL` 列。此示例说明如何在具有更复杂条件逻辑的查询中使用该函数。

```
SELECT SQRT(commission)
FROM sales WHERE salesid < 10 ORDER BY salesid;

+--------------------+
|        sqrt        |
+--------------------+
| 10.449880382090505 |
| 3.3763886032268267 |
|  7.245688373094719 |
|  5.123475382979799 |
|  4.806245936279167 |
|  7.687652437513028 |
| 10.871982339941507 |
| 5.4359911699707535 |
|   9.41541289588513 |
+--------------------+
```

要返回同一组 COMMISSION 值的平方根的舍入值，请使用以下示例。

```
SELECT ROUND(SQRT(commission))
FROM sales WHERE salesid < 10 ORDER BY salesid;

+-------+
| round |
+-------+
|    10 |
|     3 |
|     7 |
|     5 |
|     5 |
|     8 |
|    11 |
|     5 |
|     9 |
+-------+
```