MySQL - SIGN() 函数
MySQL 的 SIGN() 函数接受一个整数值作为参数,并返回给定数字的符号。
如果指定的数字为负值,则此函数返回 -1。
如果指定的数字为正值,则此函数返回 1。
如果指定的数字为 0(既不是正数也不是负数),则此函数返回 0。
换句话说,您可能已经知道实数由幅度和符号(称为 signum)组成,符号将实数分为正值和负值。此 MySQL 函数用于计算实数函数的符号。
语法
以下是 MySQL SIGN() 函数的语法 -
SIGN(x)
参数
此函数接受一个整数值作为参数。
返回值
如果给定值为负数,则此函数返回 -1;如果为零,则返回 0;如果为正数,则返回 1。
示例
以下是 SIGN() 函数的示例。这里我们传递一个正值作为参数。
SELECT SIGN(55475) As Result;
输出
上述查询的输出如下所示 -
Result |
---|
1 |
示例
以下是此函数的另一个示例,其中我们传递一个负值作为参数。
SELECT SIGN(-9637458574) As Result;
输出
这将产生以下结果 -
Result |
---|
-1 |
示例
如果我们将 0 作为参数传递给此函数,则结果将为 0 -
SELECT SIGN(0) As Result;
输出
输出结果如下 -
Result |
---|
0 |
示例
我们也可以将数字作为字符串值传递给此函数 -
SELECT SIGN('-545752') As Result;
输出
这将产生以下结果 -
Result |
---|
-1 |
示例
在下面的示例中,我们使用 CREATE 语句创建一个名为 STUDENTS 的表,如下所示 -
CREATE TABLE STUDENTS ( ID int, NAME varchar(20) not null, AGE int not null, ADDRESS char (25), MARKS int, primary key (ID) );
以下查询将 7 条记录添加到上面创建的表中 -
INSERT INTO STUDENTS (ID,NAME,AGE,ADDRESS,MARKS) VALUES (1, 'Ramesh', 18, 'Ahmedabad', 80), (2, 'Khilan', 19, 'Delhi', -10), (3, 'Kaushik', 20, 'Kota', 85), (4, 'Chaitali', 18, 'Mumbai', 90), (5, 'Hardik', 18, 'Bhopal', -25), (6, 'Komal', 21, 'Hyderabad', -34), (7, 'Muffy', 22, 'Indore', 99);
要验证记录是否已插入,请执行以下查询 -
Select * From STUDENTS;
以下是 STUDENTS 表 -
ID | NAME | AGE | ADDRESS | MARKS |
---|---|---|---|---|
1 | Ramesh | 18 | Ahmedabad | 80 |
2 | Khilan | 19 | Delhi | -10 |
3 | Kaushik | 20 | Kota | 85 |
4 | Chaitali | 18 | Mumbai | 90 |
5 | Hardik | 18 | Bhopal | -25 |
6 | Komal | 21 | Hyderabad | -34 |
7 | Muffy | 22 | Indore | 99 |
现在,我们在 MARKS 列上使用 MySQL SIGN() 函数来确定每个 MARKS 值的符号 -
SELECT *, SIGN(MARKS) AS SIGN FROM STUDENTS;
上述查询的输出如下所示 -
ID | NAME | AGE | ADDRESS | MARKS | SIGN |
---|---|---|---|---|---|
1 | Ramesh | 18 | Ahmedabad | 80 | 1 |
2 | Khilan | 19 | Delhi | -10 | -1 |
3 | Kaushik | 20 | Kota | 85 | 1 |
4 | Chaitali | 18 | Mumbai | 90 | 1 |
5 | Hardik | 18 | Bhopal | -25 | -1 |
6 | Komal | 21 | Hyderabad | -34 | -1 |
7 | Muffy | 22 | Indore | 99 | 1 |