SQL SIGN()函数
SQL SIGN()函数用于确定一个数字是正数、负数还是零。
假设我们有一个表,其中有一个列存储了负数和正数的值。然后,我们可以使用SIGN()函数来检测正数和负数。
SIGN()函数以整数的形式返回一个数字的符号,可能为-1、1或0。
- 如果指定的数字是负值,则此函数返回-1。
-
如果指定的数字是正值,则此函数返回1。
-
如果指定的数字为0(既不是负数也不是正数),此函数返回0。
语法
以下是SQL SIGN()函数的语法 –
SELECT SIGN(x) AS Alias_Name;
其中x可以是负数、正数或零整数。
以下是在表中使用SIGN()函数的语法-
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()函数的一个示例。 在这里,我们将0作为参数传递。
以下是查询内容 –
SELECT SIGN(0) AS sign_of_zero;
输出
以下是上述SQL查询的输出结果,如果传递的值为0,则结果为0。
+--------------+
| sign_of_zero |
+--------------+
| 0 |
+--------------+
示例
在下面的示例中,我们正在提取姓名并查找员工表emp_tbl中具有负余额或正余额的帐户余额。让我们创建一个名为emp_tbl的表 –
Create table emp_tbl (ID INT NOT NULL, NAME VARCHAR(20), ACCOUNT_BL NUMERIC);
让我们向表格中插入 n 条数据 –
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 |
+-------+------------------+