SQL - 根据另一列中的值更改计算结果
SQL - change calculated result depending on value in another column
我有一个基于其他两列计算的百分比列。但是,根据另一列中的值,我将能够更改该计算。
例如
server outage starttime endtime outage_seconds percentage
a 0 01/11/2015 09:14 01/11/2015 09:08 360 99.58334
b 0 01/11/2015 03:57 01/11/2015 03:34 1393 98.38774
c 1 01/11/2015 03:47 01/11/2015 03:29 1050 98.78473
d 0 01/11/2015 03:47 01/11/2015 03:29 1086 98.74306
e 1 01/11/2015 03:47 01/11/2015 03:29 1056 98.77778
中断列中的数据为 0 我希望百分比列为 100%
我的密码是
SELECT [server]
,[outage]
,[starttime]
,[endtime]
,[outage_seconds] = datediff(second, 0, cast((endime - starttime)as time))
,[percentage] = 100-(datediff(second, 0, cast((endtime - starttime)as float))/86400.0)*100
FROM [availability_outages].[dbo].[pnet02_view]
SELECT [server]
,[outage]
,[starttime]
,[endtime]
,[outage_seconds] = datediff(second, 0, cast((endime - starttime)as time))
,case when [outage] = 0
then 100
else 100-(datediff(second, 0, cast((endtime - starttime)as float))/86400.0)*100
end as percentage
FROM [availability_outages].[dbo].[pnet02_view]
我有一个基于其他两列计算的百分比列。但是,根据另一列中的值,我将能够更改该计算。
例如
server outage starttime endtime outage_seconds percentage
a 0 01/11/2015 09:14 01/11/2015 09:08 360 99.58334
b 0 01/11/2015 03:57 01/11/2015 03:34 1393 98.38774
c 1 01/11/2015 03:47 01/11/2015 03:29 1050 98.78473
d 0 01/11/2015 03:47 01/11/2015 03:29 1086 98.74306
e 1 01/11/2015 03:47 01/11/2015 03:29 1056 98.77778
中断列中的数据为 0 我希望百分比列为 100%
我的密码是
SELECT [server]
,[outage]
,[starttime]
,[endtime]
,[outage_seconds] = datediff(second, 0, cast((endime - starttime)as time))
,[percentage] = 100-(datediff(second, 0, cast((endtime - starttime)as float))/86400.0)*100
FROM [availability_outages].[dbo].[pnet02_view]
SELECT [server]
,[outage]
,[starttime]
,[endtime]
,[outage_seconds] = datediff(second, 0, cast((endime - starttime)as time))
,case when [outage] = 0
then 100
else 100-(datediff(second, 0, cast((endtime - starttime)as float))/86400.0)*100
end as percentage
FROM [availability_outages].[dbo].[pnet02_view]