MySQL - 算术运算符
MySQL - 算术运算符
Section titled “MySQL - 算术运算符”MySQL 中的算术运算符用于对数值进行数学计算。这些运算符可以在 SELECT 语句中即时计算值,也可以在 WHERE 和 UPDATE 子句中根据计算结果筛选或修改数据。
MySQL 算术运算符
Section titled “MySQL 算术运算符”以下是 MySQL 中主要的算术运算符列表:
| 运算符 | 名称 | 描述 |
|---|---|---|
| + | 加法 | 将两个数值相加。 |
| - | 减法 | 从左侧操作数中减去右侧操作数。 |
| * | 乘法 | 将两个数值相乘。 |
| / | 除法 | 将左侧操作数除以右侧操作数。返回一个浮点数。 |
| DIV | 整除 | 执行除法并丢弃小数部分,返回一个整数。 |
| % | 取模 | 返回除法的整数余数。A % B 等同于 MOD(A,B)。 |
| - | 一元减号 | 改变操作数的符号。 |
让我们创建一个示例 products 表来演示这些运算符在实际场景中如何工作。
CREATE TABLE products ( id INT PRIMARY KEY, name VARCHAR(100), price DECIMAL(10, 2), stock_quantity INT);
INSERT INTO products VALUES(1, 'Laptop', 1200.50, 50),(2, 'Mouse', 25.00, 153),(3, 'Keyboard', 75.75, 99);加法 (+) 和减法 (-)
Section titled “加法 (+) 和减法 (-)”计算折扣价格。
SELECT name, price, price - 10.00 AS discounted_price FROM products;乘法 (*)
Section titled “乘法 (*)”计算每种产品的总库存价值。
SELECT name, price * stock_quantity AS inventory_value FROM products;除法 (/) 与整除 (DIV)
Section titled “除法 (/) 与整除 (DIV)”/ 运算符执行浮点数除法,而 DIV 执行整数除法。
-- 浮点数除法SELECT 10 / 4; -- 结果: 2.5000
-- 整除SELECT 10 DIV 4; -- 结果: 2一个实际例子:计算当前库存可以分成多少个“10 个一包”的捆。
SELECT name, stock_quantity, stock_quantity DIV 10 AS packs_of_10 FROM products;取模 (%)
Section titled “取模 (%)”取模运算符对于求余数很有用。一个常见的用例是判断一个数字是奇数还是偶数。
SELECT 15 % 4; -- 结果: 3 (因为 15 = 3*4 + 3)
-- 找出所有库存数量为奇数的产品SELECT name, stock_quantity FROM products WHERE stock_quantity % 2 != 0;运算符优先级
Section titled “运算符优先级”MySQL 遵循标准的运算顺序。乘法(*)、除法(/、DIV)和取模(%)的优先级高于加法(+)和减法(-)。
考虑这个查询:
SELECT 10 + 5 * 2; -- 结果: 20在上面的查询中,5 * 2 先被计算(结果为 10),然后 10 + 10 被计算。要覆盖默认优先级,请使用括号 ()。
SELECT (10 + 5) * 2; -- 结果: 30即使并非严格必要,使用括号也能使您的计算更易于阅读和理解。