如果原始值与任何When_Expression都不匹配,则返回原始值 [英] Returning the original value if it doesn't match any of the when_expressions

查看:45
本文介绍了如果原始值与任何When_Expression都不匹配,则返回原始值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的SQL导出字段中有一行,如果字段与姓氏中的"AMA"完全匹配,我会尝试删除字段中的返回值为空值。但是,当我使用当前代码导出文件时,姓氏不是"AMA"的名称被完全空白。

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

现在,如果某人是"Ray Miller",ShipFullName将返回为空。但是如果他们的名字是"Ray AMA",那么他们的名字就会被返回为"Ray"。我需要它,以便在姓氏字段中找不到AMA时返回"Ray Miller"。

推荐答案

为避免尾随空白,我将执行以下操作:

max(
    case 
        when Orders.ShipLastName = 'AMA' then Orders.ShipFirstName
        else Orders.ShipFirstName + ' ' + Orders.ShipLastName
    end
) as ShipFullName

这篇关于如果原始值与任何When_Expression都不匹配,则返回原始值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆