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 | Negative SALARIES |
---|---|---|---|
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 |