MySQL - 一元减号运算符 (-)



一元减号运算符 (-) 是 MySQL 支持的一种算术运算符。此运算符仅用于更改数据库表中值的符号。换句话说,无论何时使用此运算符,数据库表中的正值都会更改为负值,反之亦然。

示例

以下查询将返回 -3354,这是正数 3354 的负数 −

SELECT -3354 as Result;

输出

这将产生以下结果 −

结果
-3354

示例

以下查询将返回输出 -5788.687,这是正浮点数 5788.687 的负数 −

SELECT -5788.687 as Result;

输出

这将产生以下结果 −

结果
-5788.687

示例

此查询将返回 7。第一个一元减号取负数 (-7) 的负数,将其更改为正数 −

SELECT -(-263) as Result;

输出

这将产生以下结果 −

结果
263

示例

让我们看一个更改数据库表列中值符号的示例。首先,我们使用以下查询创建一个名为 CUSTOMERS 的表 −

CREATE TABLE CUSTOMERS (
   ID INT AUTO_INCREMENT,
   NAME VARCHAR(20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

以下查询将 7 条记录插入到上面创建的表中 −

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES 
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'Kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );

执行以下查询以获取 CUSTOMERS 表中所有插入的记录 −

Select * From CUSTOMERS;

以下是 CUSTOMERS 表 −

ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 Kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00

现在,使用一元减号 (-) 运算符,让我们取每个客户工资的负数 −

SELECT ID, NAME, SALARY, -SALARY as 'Negative SALARIES' 
FROM CUSTOMERS;

这将产生以下结果 −

ID NAME SALARY 负工资
1 Ramesh 2000.00 -2000.00
2 Khilan 1500.00 -1500.00
3 Kaushik 2000.00 -2000.00
4 Chaitali 6500.00 -6500.00
5 Hardik 8500.00 -8500.00
6 Komal 4500.00 -4500.00
7 Muffy 10000.00 -10000.00
广告