养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

sqlserver条件分支case when使用教程

时间:2024-10-26 18:22:39

在sqlserver的条件分支casewhen有两种写法:1)case字段when值then返回值when值2then返回值2end2)casewhen条件1then返回值1when条件2then返回值2end

工具/原料

sqlservermanagementstudio

方法/步骤

1、打开“SQLServerManagementStudio”管理工具,创建一张测试表:CREATETABLEtblCaseWhen(Idvarchar(40)NOTNULL,Col1varchar(50)NULL,Col2intNULL,Col3varchar(50)NULL,Col4varchar(50)NULL)

sqlserver条件分支case when使用教程

2、往测试表中插入测试数据:inser隋茚粟胫tintotblCaseWhen(Id,Col1,Col2)values('1'稆糨孝汶;,'第1行第2列',10);insertintotblCaseWhen(Id,Col1,Col2)values('2','第2行第2列',20);insertintotblCaseWhen(Id,Col1,Col2)values('3','第3行第2列',30);insertintotblCaseWhen(Id,Col1,Col2)values('4','第4行第2列',40);insertintotblCaseWhen(Id,Col1,Col2)values('5','第5行第2列',50);

sqlserver条件分支case when使用教程

3、查询表中插入的测试数据:select*fromtblCaseWhen;

sqlserver条件分支case when使用教程

4、使用第一种casewhen查询数据改变Col3返回的值,数据库的值不会变。selectId,Col1,Col2,Col3=(caseCol2when10thenCol2+10when20thenCol2+20elseCol2+50end),Col4fromtblCaseWhen

sqlserver条件分支case when使用教程

5、使用第二种casewhen修改Col4列的值,范围大的条件在前面。updatetblCaseWhensetCol4=(casewhenCol2>10then'大于10'whenCol2>40then'大于40'else'else值'end)

sqlserver条件分支case when使用教程

6、查询修改后的数据,从结果可以看到,匹配到第一个条件后,后面的when就不执行了,所以,范围大的条件不能放在前面。select*fromtblCaseWhen;

sqlserver条件分支case when使用教程

7、使用第二种casewhen,将范围大的条件移到后面,结果就如预期的显示了。updatetbl觊皱筠桡CaseWhensetCol4=(艘早祓胂casewhenCol2>40then'大于40'whenCol2>10then'大于10'else'else值'end)

sqlserver条件分支case when使用教程

© 一点知识