Sql:如果一个字段为空或0,则选择另一个字段

时间:2015-02-16 11:39:38

标签: mysql sql sql-server

我有一个表Product我有字段id,name,selling_price和special_selling_price。 我想获取" special_selling_price"所有记录但是

`special_selling_price`=0 OR `special_selling_price`=null

然后它应该获取" selling_price"。

如果我的记录是

id    name    selling_price    special_selling_price
 1      A           100                   75
 2      B           200                   0
 3      C           300
 4      D           400                  150

然后它应该获取

75
200
300
150

3 个答案:

答案 0 :(得分:4)

SELECT 
  coalesce(nullif(special_selling_price, 0), selling_price)
FROM product

答案 1 :(得分:1)

使用CASE

SELECT CASE WHEN (special_selling_price IS NULL OR special_selling_price = 0)
            THEN selling_price
            ELSE special_selling_price 
       END AS SellPrice
FROM TableName

答案 2 :(得分:-1)

您可以使用以下查询。

Select Name, case when special_Selling_Price =0 then Selling_Price
when special_Selling_price is null then Selling_Price
else
Special_Selling_Price end SellingPrice from Product