如果原始值与任何When_Expression都不匹配,则返回原始值

Returning the original value if it doesn#39;t match any of the when_expressions(如果原始值与任何When_Expression都不匹配,则返回原始值)
本文介绍了如果原始值与任何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都不匹配,则返回原始值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)