如何在SQL Server中将表数据的值更改为“可用”?

时间:2018-10-13 05:49:16

标签: sql sql-server

我有一个表production.productioninventory,其中包含以下列和示例数据:

productID   shelf
-------------------
  1           A
  2           B 
  3           C
  4          N/A

我想将货架数据更改为不可用的“可用”

例如:

productID   shelf
-------------------
1           available
2           available
3           available
4           not available 

4 个答案:

答案 0 :(得分:3)

select productID, 
       case when shelf = 'N/A' 
            then 'not available'
            else 'available'
       end as shelf
from productioninventory 

答案 1 :(得分:2)

这将起作用:

1)使用CASE

UPDATE production.productioninventory 
SET shelf = CASE  
                WHEN shelf = 'N/A' THEN 'not available' 
                ELSE 'available' 
            END 

2)使用IIF

UPDATE production.productioninventory 
SET shelf = IIF(shelf = 'N/A', 'not available' , 'available')

答案 2 :(得分:1)

UPDATE production.productioninventory SET shelf = 'not available' WHERE shelf = 'N/A'
UPDATE production.productioninventory SET shelf = 'available' WHERE shelf <> 'N/A'

答案 3 :(得分:0)

您甚至可能不需要更改数据。相反,只需添加一个计算列:

alter table production.productioninventory
    add availability as (case when shelf = 'N/A' then 'not available' else 'available' end);

这成为表定义的一部分,可在您的查询中使用。