SQL中CASEWHEN使用
一、NULL 值判断
1.判断空值,不成功
select case 字段名
when null then '空值'
else '非空值'
END as 字段别名
from 表
2.判断空值,成功
select case
when 字段名 IS NULL then '空值'
when 字段名 ='OK' then 'OK值'
else '非空值'
END 字段别名
from 表
二、把 If 语句改为 Case when
先看看使用 if 语句的写法:
惠山网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
declare @SelDD smalldatetime,@SelHH tinyint
set @SelDD=cast(convert(varchar(19),Getdate(),111) as smalldatetime)
set @SelHH=datepart(hour,Getdate())
if @SelHH=0
begin
select H0 from 表
end else
if @SelHH=1
begin
select H1 from 表
end
if @SelHH=2
begin
select H2 from 表
end
if @SelHH=3
begin
select H3 from 表
end
if @SelHH=4
begin
select H4 from 表
end
if @SelHH=5
begin
select H5 from 表
end
if @SelHH=6
begin
select H6 from 表
end
if @SelHH=7
begin
select H7 from 表
end
if @SelHH=8
begin
select H8 from 表
end
if @SelHH=9
begin
select H9 from 表
end
if @SelHH=10
begin
select H10 from 表
end
if @SelHH=11
begin
select H11 from 表
end
if @SelHH=12
begin
select H12 from 表
end
if @SelHH=13
begin
select H13 from 表
end
if @SelHH=14
begin
select H14 from 表
end
if @SelHH=15
begin
select H15 from 表
end
if @SelHH=16
begin
select H16 from 表
end
if @SelHH=17
begin
select H17 from 表
end
if @SelHH=18
begin
select H18 from 表
end
if @SelHH=19
begin
select H19 from 表
end
if @SelHH=20
begin
select H20 from 表
end
if @SelHH=21
begin
select H21 from 表
end
if @SelHH=22
begin
select H22 from 表
end
if @SelHH=23
begin
select H23 from 表
end
再把上面的语句改为case when end:
select case @SelHH
when 0 then H0
when 1 then H1
when 2 then H2
when 3 then H3
when 4 then H4
when 5 then H5
when 6 then H6
when 7 then H7
when 8 then H8
when 9 then H9
when 10 then H10
when 11 then H11
when 12 then H12
when 13 then H13
when 14 then H14
when 15 then H15
when 16 then H16
when 17 then H17
when 18 then H18
when 19 then H19
when 20 then H20
when 21 then H21
when 22 then H22
when 23 then H23
end
from 数据表
名称栏目:SQL中CASEWHEN使用
文章地址:http://scyanting.com/article/ijgeos.html