Returning the original value if it doesn't mat

2019-08-11 19:27发布

I have a line on my SQL export field, and I am trying to remove return a blank value in a field if it exactly matches "AMA" in the last name. However, when I export the file with the current code, and names without "AMA" as the last name are fully blanked out.

,Max(
    Orders.ShipFirstName
    + ' ' +  
        CASE Orders.ShipLastName
            WHEN 'AMA' THEN ''
        END
) As ShipFullName

Right now, if someone is "Ray Miller", ShipFullName will be returned as blank. But if their name is "Ray AMA", then their name is returned as "Ray". I want it so "Ray Miller" is returned when AMA is not found in the last name field.

3条回答
劫难
2楼-- · 2019-08-11 19:54

To avoid having a trailing blank, I would do this:

max(
    case 
        when Orders.ShipLastName = 'AMA' then Orders.ShipFirstName
        else Orders.ShipFirstName + ' ' + Orders.ShipLastName
    end
) as ShipFullName
查看更多
我命由我不由天
3楼-- · 2019-08-11 19:55
,Max(
    Orders.ShipFirstName
    + ' ' +  IF(Orders.ShipLastName = 'AMA', '', Orders.ShipLastName)
) As ShipFullName
查看更多
唯我独甜
4楼-- · 2019-08-11 20:08
CASE Orders.ShipLastName
    WHEN 'AMA' THEN ''
    ELSE Orders.ShipLastName
END
查看更多
登录 后发表回答