SQL列值更改

时间:2018-06-25 17:22:46

标签: sql sql-server

在我的数据库中,我有一个表,该表的列result的值为passed, failed, pending等。如果传递了我的结果值,我必须更改结果=传递给结果=更正了我该怎么办在where子句中。那就是如果结果通过了,我想改变传递到更正。我尝试了以下

select result as status, address + ' ' + city + ' ' + state + ' ' + zip as occupancy, name 
from Occupancies OCC 
where (address like '%rd' or address is not null ) and
        case when result = 'Passed' then ' corrected';

我已经在where子句中使用了一些条件。任何建议都很好

2 个答案:

答案 0 :(得分:1)

这是黑暗中的另一枪。在命名列和对象时,您确实需要小心。使用保留字是一个坏习惯,使查询比他们需要的困难得多。同样,当您串联这样的字符串值时,如果任何列为NULL,结果将为NULL。

select [status] = case when result = 'Passed' then 'corrected' end
    , [address] + ' ' + city + ' ' + [state] + ' ' + zip as occupancy
    , name 
from Occupancies OCC 
where result = 'Passed'

答案 1 :(得分:0)

只是:

SELECT CASE WHEN result = 'Passed' then 'corrected' end as Status, 
       address + ' ' + city + ' ' + state + ' ' + zip as occupancy, 
       name 
FROM Occupancies