我正在尝试在select语句中使用n if-else语句来计算 如果员工有时间或迟到,我会不断搞砸。
如果员工的时间是< = 8:00,那么在指定的列中说“InTime” 带有绿色标志的其他“迟到”带有红旗。 任何提示。
SELECT TimeMasterID,CardNo,FName,LName,LocIn,DeviceIn,DateTimeOut,LocOut,DeviceOut, CONVERT(VARCHAR(10),DateTimeIn,108)AS DateTimeIn,
CASE
WHEN DateTimeIn <= '08:00:00' THEN 'INTIME'
ELSE 'LATE'
END AS Punctuality
FROM TIMEMASTER;
答案 0 :(得分:1)
你可以使用像这样的Case语句
DECLARE @d DATETIME = GETDATE();
SELECT CASE WHEN CAST(@d AS TIME) <= '08:00:00.000' THEN 'In Time'
ELSE 'Late' END
不知道你对这些信息到底在做什么,但是如果你想使用IF ..ELSE你可以做类似的事情
DECLARE @d DATETIME = GETDATE();
IF (CAST(@d AS TIME) <= '08:00:00.000')
BEGIN
PRINT 'In Time'
END
ELSE
BEGIN
PRINT 'Lazy Git or Late Commer'
END