我有一个表Products
一些ProductPrice值为0(类型为十进制(10,0((
ID | Productname | ProductPrice |
+----+-------------+--------------------------------------+
| 1 | ShirtXS | 299 |
| 2 | TrousersM | 0 |
产品价格为十进制(10,0(
如何编写SQL查询以将ProductPrice值0转换/替换为NULL或文本N/A
所需输出:
ID | Productname | ProductPrice |
+----+-------------+--------------------------------------+
| 1 | ShirtXS | 299 |
| 2 | TrousersM | NULL or N/A |
对此使用case
表达式:
SELECT Productname ,
CASE WHEN ProductPrice = 0 THEN NULL
ELSE ProductPrice
END as ProductPrice
FROM table
我不确定您是在寻找UPDATE
还是SELECT
。如果您正在寻找SELECT
,可以使用MySQL中的NULLIF()
将0
替换为NULL
。语法如下:
SELECT *,NULLIF(<column_name>,0) as <variable_name> from <table_name>;