小编The*_*ost的帖子

CASE语句中WHEN子句的执行顺序

给出以下案例陈述:

1    WHEN r.code= '00'                        then 'A1'
2    WHEN r.code ='01' AND r.source = 'PXWeb' then 'A2'   <
3    WHEN r.code ='0120'                      then 'A3'
4    WHEN r.code ='01'                        then 'A4'   <
5    WHEN r.code ='1560'                      then 'A5'
6    WHEN r.code ='1530'                      then 'A6'
7    WHEN r.code ='1550'                      then 'A7'
Run Code Online (Sandbox Code Playgroud)

我假设第2行总是在第4行之前执行?然后我读了一些语句,比如' SQL是一种声明性语言,这意味着它告诉SQL引擎要做什么,而不是如何进行

SQL查询的执行顺序

并想知道这是否也与CASE声明中的执行顺序有关.基本上,我可以保留上面的代码,而不必将第4行更改为

4    WHEN r.code ='01' AND r.source != 'PXWeb' then 'A4'   
Run Code Online (Sandbox Code Playgroud)

sql sybase case case-when

20
推荐指数
2
解决办法
2万
查看次数

标签 统计

case ×1

case-when ×1

sql ×1

sybase ×1