2013-12-24 49 views
0

我試圖在select語句中使用一個n if-else語句來計算 如果員工及時或遲到,但是我一直在搞亂它。使用If-else語句來計算員工是遲到還是及時

如果員工在時間上的時間是< = 8:00,那麼在指定的欄中會顯示「InTime」 ,其他的綠色標誌將顯示爲「Late」並帶有紅色標誌。 任何提示。

SELECT TimeMasterID,CardNo,FName參數,LName的,LocIn,DeviceIn,DateTimeOut,LocOut,DeviceOut, CONVERT(VARCHAR(10),DateTimeIn,108)DateTimeIn,

CASE 
    WHEN DateTimeIn <= '08:00:00' THEN 'INTIME' 
    ELSE 'LATE' 

END AS Punctuality 
FROM TIMEMASTER; 
+0

請發表您的SQL代碼,然後人們可能會提供幫助。 –

+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