MySQL - SIGN() 函数



MySQL 的SIGN()函数接受一个整数值作为参数,并返回该数字的符号。

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

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

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

换句话说,您可能已经知道实数由大小和符号(称为符号)组成,它们将实数分为正值和负值。此 MySQL 函数计算实数值函数的符号。

语法

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

SIGN(x)

参数

此函数接受一个整数值作为参数。

返回值

如果给定值为负数,此函数返回 -1;如果为零,则返回 0;如果为正数,则返回 1。

示例

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

SELECT SIGN(55475) As Result;

输出

上面查询的输出如下所示:

结果
1

示例

以下是此函数的另一个示例,我们将一个负值作为参数传递。

SELECT SIGN(-9637458574) As Result;

输出

这将产生以下结果:

结果
-1

示例

如果我们将 0 作为参数传递给此函数,结果将为 0:

SELECT SIGN(0) As Result;

输出

输出如下所示:

结果
0

示例

我们也可以将数字作为字符串值传递给此函数:

SELECT SIGN('-545752') As 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
广告