MSSQL changing a return value only if it pass a Boolean_expression
i want to do something like this
SELECT (开发者_如何学运维if T.EndTime = '00:00:00' THEN '23:59:59' ELSE T.EndTime) AS EndTime from Table AS T
i know the solution should be simple but i just cant find away to make it work
You want a CASE:
http://msdn.microsoft.com/en-us/library/ms181765.aspx
SELECT
CASE T.EndTime
WHEN '00:00:00' THEN '23:59:59'
ELSE T.EndTime
END
FROM ...
CASE is what you are looking for:
SELECT (CASE WHEN T.EndTime = '00:00:00'
THEN '23:59:59'
ELSE T.EndTime END) AS EndTime
from Table AS T
SELECT
CASE EndTime
WHEN '00:00:00' THEN '23:59:59'
ELSE EndTime
END
If the column T.EndTime is of data type DateTime, you might want to convert the value to string first. So, the query would be something like this. Value 8 used in Convert function returns datetime in the format hh:mi:ss. You can find the list of formats for Cast or Convert at MSDN website.
SELECT CASE
WHEN CONVERT(VARCHAR, T.EndTime, 8) = '00:00:00' THEN '23:59:59'
ELSE T.EndTime
END
FROM dbo.TableData T
加载中,请稍侯......
精彩评论