SQRT 函數 - Amazon Redshift

自 2025 年 11 月 1 日起,Amazon Redshift 將不再支援建立新的 Python UDFs。如果您想要使用 Python UDFs,請在該日期之前建立 UDFs。現有的 Python UDFs將繼續如常運作。如需詳細資訊,請參閱部落格文章

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SQRT 函數

SQRT 函數傳回 NUMERIC 值的平方根。平方根是一個數字與其自身相乘以獲得給定值。

語法

SQRT(expression)

引數

運算式

運算式必須具有 INTEGERDECIMALFLOAT 資料類型,或隱含轉換為這些資料類型的資料類型。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 | +-------+