Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章
SQRT 函數
SQRT 函數傳回 NUMERIC 值的平方根。平方根是一個數字與其自身相乘以獲得給定值。
語法
SQRT(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 範例資料庫。如需更多詳細資訊,請參閱 範本資料庫。
若要從 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 | +-------+