SQL将0的零值替换为NULL或文本



我有一个表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>;

相关内容

  • 没有找到相关文章

最新更新