MySql 具有 NULL 和 0 行的乘法列
MySql multiplication columns with NULL and 0 rows
我有这个MySQLtable:
+----+-------------+----------+------+-------+
| ID | DESCRIPTION | QUANTITY | EACH | PRICE |
+----+-------------+----------+------+-------+
| 1 | Product 1 | 1 | 12 | 1*12 |
| 2 | Product 2 | 2 | 3 | 2* 3 |
| 3 | Product 3 | NULL | 3 | |
| 4 | Product 4 | 0 | 7 | |
+----+-------------+----------+------+-------+
这个查询:
SELECT
DESCRIPTION,
QUANTITY,
EACH,
COALESCE(QUANTITY, 1) * EACH AS PRICE
FROM table1
我想用 1 替换 NULL 和 0,并且我想在 PRICE 列中进行乘法运算。我不想使用更新,因为我无法更改 table1 中的值。
谢谢!
听起来你想要CASE
:
SELECT DESCRIPTION, QUANTITY, EACH,
((CASE WHEN QUANTITY IS NULL THEN 0
WHEN QUANTITY = 0 THEN 1
ELSE QUANTITY
END) * EACH
) AS PRICE
FROM table1;
试试下面的查询
SELECT
DESCRIPTION,
QUANTITY,
EACH,
COALESCE(IF(QUANTITY = NULL OR QUANTITY = 0,1,QUANTITY), 1) * EACH AS PRICE
FROM table1
SELECT
DESCRIPTION,
QUANTITY,
EACH,
IF(QUANTITY,QUANTITY, 1) * EACH AS PRICE
FROM table1
我有这个MySQLtable:
+----+-------------+----------+------+-------+
| ID | DESCRIPTION | QUANTITY | EACH | PRICE |
+----+-------------+----------+------+-------+
| 1 | Product 1 | 1 | 12 | 1*12 |
| 2 | Product 2 | 2 | 3 | 2* 3 |
| 3 | Product 3 | NULL | 3 | |
| 4 | Product 4 | 0 | 7 | |
+----+-------------+----------+------+-------+
这个查询:
SELECT
DESCRIPTION,
QUANTITY,
EACH,
COALESCE(QUANTITY, 1) * EACH AS PRICE
FROM table1
我想用 1 替换 NULL 和 0,并且我想在 PRICE 列中进行乘法运算。我不想使用更新,因为我无法更改 table1 中的值。 谢谢!
听起来你想要CASE
:
SELECT DESCRIPTION, QUANTITY, EACH,
((CASE WHEN QUANTITY IS NULL THEN 0
WHEN QUANTITY = 0 THEN 1
ELSE QUANTITY
END) * EACH
) AS PRICE
FROM table1;
试试下面的查询
SELECT
DESCRIPTION,
QUANTITY,
EACH,
COALESCE(IF(QUANTITY = NULL OR QUANTITY = 0,1,QUANTITY), 1) * EACH AS PRICE
FROM table1
SELECT
DESCRIPTION,
QUANTITY,
EACH,
IF(QUANTITY,QUANTITY, 1) * EACH AS PRICE
FROM table1