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