Tsql CASE函数顺序-T-SQL

Tsql CASE函数顺序-T-SQL,tsql,case,Tsql,Case,我在使用CASE函数时遇到了以下问题。假设我有以下数据: 这是我的案例功能: CASE WHEN [Country_Championship] LIKE 'England: National League North%' THEN 'England: National League North' WHEN [Country_Championship] LIKE 'England: National League South%' THEN 'England: National L

我在使用
CASE
函数时遇到了以下问题。假设我有以下数据:

这是我的
案例
功能:

CASE
    WHEN [Country_Championship] LIKE 'England: National League North%' THEN 'England: National League North'
    WHEN [Country_Championship] LIKE 'England: National League South%' THEN 'England: National League South'
    WHEN [Country_Championship] LIKE 'England: National League%' THEN 'England: National League'
ELSE
END
如果我没有订购
箱子
正确,我就离开

当[国家锦标赛]像“英格兰:全国联赛%”然后是“英格兰:全国联赛”

在开始时,我将所有行识别为
England:National League
忽略是否有更多行是字符串的延续


是否有一种更正统的快速方法来避免排序?

a
CASE
表达式按顺序解析;如果第一个子句为true,则将返回第一个子句的
WHEN
中的表达式。在
CASE
表达式中对子句进行排序很重要,因为如果后面的子句的计算结果为True,则不会对其进行测试。这通常意味着将最具体的子句放在第一位,而将最不具体的子句放在最后。非常感谢您的回答@LarnuA
CASE
表达式按顺序解析;如果第一个子句为true,则将返回第一个子句的
WHEN
中的表达式。在
CASE
表达式中对子句进行排序很重要,因为如果后面的子句的计算结果为True,则不会对其进行测试。这通常意味着把你最具体的条款放在第一位,最不重要的放在最后。非常感谢你的回答@Larnu