어떤 사용자가 늦은 시각에 시계를 사용하고 있는지 알고 싶습니다. 9:00 am에 오전 9:00 이상으로 늦게 선언 하겠지만 내 결과는 10:00보다 더 늦게 표시합니다.날짜 시간을 SQL로 변환
DECLARE @clockin as varchar
DECLARE @clockout as varchar
DECLARE @reportdate as datetime
--SET @clockin = CONVERT(108,'08:30')
SET @clockin = CONVERT(varchar(10),CAST('9:00' AS TIME),100)
SET @clockout = CONVERT(varchar(10),CAST('18:30' AS TIME),100)
SET @reportdate = month(GETDATE())
SELECT
u.showname AS showname,
l.USERID AS USERID,
u.BADGENUMBER AS BADGENUMBER,
l.CHECKTIME AS CHECKTIME,
CASE
WHEN DATEPART(HOUR, l.CHECKTIME) <= @clockin
THEN CONVERT(varchar(10), CAST(l.CHECKTIME AS TIME), 100)
ELSE 'late ' + CONVERT(varchar(100), CAST(l.CHECKTIME AS TIME), 100)
END AS Time
FROM
CHECKINOUT l
INNER JOIN
USERINFO u ON l.USERID = u.USERID
WHERE
u.showname IS NOT NULL
AND u.BADGENUMBER > 100
AND CHECKTIME >= '1 jan 2017'
AND CHECKTIME <= '31 jan 2017'
--GROUP BY l.USERID, u.showname, u.BADGENUMBER
ORDER BY
u.BADGENUMBER
결과
어떤 RDBMS가 이것에 해당합니까? 태그를 추가하여 mysql, postgresql, sql-server, oracle 또는 db2 중 어느 것을 사용하는지 지정하십시오. –