SQL - SQRT() 函式



SQL 的SQRT()函式返回正數的平方根。它接受非負數作為引數。例如,如果數字是 25,則此函式返回 5。

假設表中有多個列,我們想要獲取特定列的平方根,該列只接受數值。我們無法手動查詢每個條目的平方根。因此,我們可以使用 SQRT() 函式並將列名傳遞給它,以獲取每個條目的平方根。

語法

以下是 SQRT() 函式的語法:

SELECT SQRT(X) AS Alias_Name;

其中 x 是引數,必須始終為正。

以下是 SQL 表中使用 SQRT 函式的語法:

SELECT SQRT(Integer_column_name) AS Alias_Name FROM table_name;

我們可以使用上述語法(它接受接受正值的列名)來執行 SQRT 函式以查詢平方根值。

示例

在下面的示例中,我們使用 SQRT() 函式獲取 144 的平方根。

以下是查詢:

SELECT SQRT(144) AS squareRoot;

輸出

執行上述 SQL 查詢後,我們得到以下輸出:

+------------+
| squareRoot |
+------------+
|         12 |
+------------+

示例

在下面的示例中,我們將數字作為字串傳遞,以使用 SQRT() 函式計算指定字串的平方根。

以下是查詢:

SELECT SQRT('400') AS squareRoot;

輸出

執行上述 SQL 查詢後,我們將得到給定數字(作為字串)的平方根:

+------------+
| squareRoot |
+------------+
|         20 |
+------------+

示例

在下面的示例中,我們使用負值來獲取負值的平方根。

以下是查詢:

SELECT SQRT(-400) AS squareRoot;

驗證

當我們執行上述 SQL 查詢時,我們會得到以下錯誤,因為 SQRT 在 SQL 中不接受負值。但在 MySQL 中它會顯示 NULL 值。

An invalid floating point operation occurred.

示例

在下面的示例中,我們從客戶表中獲取 ID 和名稱,並計算工資的平方根。

讓我們使用 CREATE 語句建立一個名為 customers 的表:

CREATE TABLE customers(ID INT NOT NULL PRIMARY KEY(ID), 
NAME VARCHAR(30) NOT NULL, 
AGE INT NOT NULL, ADDRESS CHAR(30), 
SALARY DECIMAL(18, 2));

讓我們使用 INSERT 語句將資料插入 CUSTOMERS 表:

insert INTO customers VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2000);
insert INTO customers VALUES(2, 'Aman' 23, 'Ranchi', 40000);
insert INTO customers VALUES(3, 'kaushik', 23, 'Kota', 2000);
insert INTO customers VALUES(4, 'Chaitali', 25, 'Mumbai', 6500);
insert INTO customers VALUES(5, 'Rakesh', 24, 'Kota', 30000);
insert INTO customers VALUES(6, 'Vivek', 22, 'Ranchi', 35000);
insert INTO customers VALUES(7, 'Akash', 22, 'Ranchi', 50000);

以下是 customers 表:

+------+----------+------+-----------+--------+
| ID   | NAME     | AGE  | ADDRESS   | SALARY |
+------+----------+------+-----------+--------+
|    1 | Ramesh   |   32 | Ahmedabad |   2000 |
|    2 | Aman     |   23 | Ranchi    |  40000 |
|    3 | kaushik  |   23 | Kota      |   2000 |
|    4 | chsitali |   25 | Mumbai    |   6500 |
|    5 | Rakesh   |   24 | kota      |  30000 |
|    6 | Vivek    |   22 | Ranchi    |  35000 |
|    7 | Akash    |   22 | Ranchi    |  50000 |
+------+----------+------+-----------+--------+

以下是 SQL SQRT() 函式查詢:

SELECT ID, NAME, SQRT(SALARY) FROM customers;

輸出

執行上述 SQL 查詢後,我們將獲得 ID、NAME 和工資的平方根:

+------+----------+--------------------+
| ID   | NAME     | SQRT(SALARY)       |
+------+----------+--------------------+
|    1 | Ramesh   | 44.721359549995796 |
|    2 | Aman     |                200 |
|    3 | kaushik  | 44.721359549995796 |
|    4 | Chaitali |  80.62257748298549 |
|    5 | Rakesh   | 173.20508075688772 |
|    6 | Vivek    | 187.08286933869707 |
|    7 | Akash    | 223.60679774997897 |
+------+----------+--------------------+
sql-numeric-functions.htm
廣告
© . All rights reserved.