SQL - SIGN() 函数



SQL SIGN() 函数用于确定数字是正数、负数还是零。

假设我们有一个表,其中一列存储正负整数的值。然后,为了检测正数和负数,我们可以使用 SIGN() 函数。

SIGN() 函数返回数字的符号,形式为整数,可以是 -1、1 或 0。

  • 如果指定的数字为负值,则此函数返回 -1。

  • 如果指定的数字为正值,则此函数返回 1。

  • 如果指定的数字为 0(既不是负数也不是正数),则此函数返回 0。

语法

以下是 SQL SIGN() 函数的语法:

SELECT SIGN(x) AS Alias_Name;

其中 x 可以是负整数、正整数或零。

以下是该函数在表中使用的语法:

SELECT SIGN(column_name) AS Aliase_Name FROM table_name;

其中 column_name 是表中整数值列的名称。

示例

以下是一个 SIGN() 函数的示例。在这里,我们将正值作为参数传递。

以下是查询:

SELECT SIGN(1234) AS sign_of_pos_value;

输出

以下是上述 SQL 查询的输出,如果传递的值为正数,则为 1。

+-------------------+
| sign_of_pos_value |
+-------------------+
|                 1 |
+-------------------+

示例

以下是一个 SIGN() 函数的示例。在这里,我们将负值作为参数传递。

以下是查询:

SELECT SIGN(-1234) AS sign_of_neg_value;

输出

以下是上述 SQL 查询的输出,如果传递的值为负数,则为 -1。

+-------------------+
| sign_of_pos_value |
+-------------------+
|                -1 |
+-------------------+

示例

以下是一个 SIGN() 函数的示例。在这里,我们将零作为参数传递。

以下是查询:

SELECT SIGN(0) AS sign_of_zero;

输出

以下是上述 SQL 查询的输出,如果传递的值为零,则为 0。

+--------------+
| sign_of_zero |
+--------------+
|            0 |
+--------------+

示例

在下面的示例中,我们正在获取名称并查找哪个员工拥有负余额或正余额,让我们创建一个名为 emp_tbl 的表:

Create table emp_tbl (ID INT NOT NULL, NAME VARCHAR(20), ACCOUNT_BL NUMERIC);

让我们向表中插入数据:

insert into emp_tbl values(1, 'Raja', 1200);
insert into emp_tbl values(2, 'Vivek', 1500);
insert into emp_tbl values(3, 'Roja', -1500);
insert into emp_tbl values(4, 'Lukha', -1700);
insert into emp_tbl values(5, 'Sonal', 1800);

让我们获取表详细信息。

SELECT * FROM emp_tbl;

以下是 emp_tbl:

+----+-------+------------+
| ID | NAME  | ACCOUNT_BL |
+----+-------+------------+
|  1 | Raja  |       1200 |
|  2 | Vivek |       1500 |
|  3 | Roja  |      -1500 |
|  4 | Lukha |      -1700 |
|  5 | Sonal |       1800 |
+----+-------+------------+

以下是查询:

SELECT NAME, SIGN(ACCOUNT_BL) FROM emp_tbl;

输出

以下是上述查询的输出,它显示了名称以及哪个员工拥有账户余额或没有账户余额。如果员工的符号值为正,则他们拥有正的账户余额。如果他们的符号值为负,则他们没有账户余额。

+-------+------------------+
| NAME  | SIGN(ACCOUNT_BL) |
+-------+------------------+
| Raja  |                1 |
| Vivek |                1 |
| Roja  |               -1 |
| Lukha |               -1 |
| Sonal |                1 |
+-------+------------------+
sql-numeric-functions.htm
广告