如何解决运行 case when 语句并在满足早期条件后继续评估
我知道在 SQL Server 的 when 语句中,当满足第一个真条件时,将计算表达式,并跳过所有后续的 when 语句。我的问题很简单,即使在第一个语句为真之后,是否有某种方法可以继续评估和修改结果表达式?
例如,假设我在名为 my_column 的列中有一个数据库记录,它的字符串值为“ABCDEFG
”。我希望能够做这样的事情:
select
case when my_column like '%A%' then REPLACE(my_column,'A','M')
when my_column like '%M%' then REPLACE(my_column,'M','N')
end as new_column
from my_table
然后我希望我的结果值为“NBCDEFG
”
所以本质上,我试图将更改从一个 when 语句级联到下一个。
解决方法
只需嵌套您的替换
Select REPLACE(REPLACE(my_column,'A','M'),'M','N') new_column
from
my_table
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。