首页 > 数据库技术 > 详细

sql select case when 语句

时间:2015-06-02 14:56:06      阅读:189      评论:0      收藏:0      [点我收藏+]

有道笔试题:

服务器监控表server_status中,当服务器状态发生server_status变化时数据表中将被插入一条记录,状态0表示停机  1表示正常,用SQL查询Server A 的停机开始时间和结束时间,表中存在多台Server的状态记录.

SVR_ID  SVR_NAME STATUS_TIME STATUS
1 A 2013-10-31 00:00:00 1
2 B 2013-10-31 00:00:00 1
1 A 2014-11-31 00:00:00 0
2 B 2014-11-31 00:00:00 0
3 C 2014-11-31 00:00:00 0
... ... ... ...

 

我做的话只会 

select s1.svr_name, s1.status_time start_date, s2.status_time end_date
from server_status s1, server_status s2
where s1.svr_id = s2.svr_id
and s1.status = 1
and s2.status = 0

and s1.svr_name=A

 

,今天看到别人用了case when语法,于是我也试着写了一下

select svr_name,
case status
when 1 then
status_time
end as start_time,
case status
when 0 then
status_time
end as end_time
from server_status
where svr_name = A

不知道有没有更好的做法...

sql select case when 语句

原文:http://www.cnblogs.com/simple-code/p/4546221.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!