Я создаю отчет SQL, в котором отслеживается время входа и выхода агента. Запрос состоит в том, чтобы добавить порог времени входа в систему, чтобы отслеживать опоздания агентов. Я отделил поле DATETIME, чтобы можно было добавить порог, но теперь я получаю только 24-часовое время вместо 12-часового. Вот мой запрос:
SELECT Interval = CONVERT(char,AL.LogoutDateTime,101),
Year = DATEPART(yy, AL.LogoutDateTime),
Month = DATEPART(mm, AL.LogoutDateTime),
Day = DATEPART(dd, AL.LogoutDateTime),
Week = DATEPART(ww, AL.LogoutDateTime),
DOY = DATEPART(dy, AL.LogoutDateTime),
DOW = DATEPART(dw, AL.LogoutDateTime),
A.EnterpriseName as AgentName,
AL.LogoutDateTime,
AL.LoginDuration,
AL.Extension,
AL.ReasonCode,
CONVERT(VARCHAR(8), DATEADD(s, -(AL.LoginDuration), AL.LogoutDateTime),101) AS LoginDate,
CONVERT(VARCHAR(8), DATEADD(s, -(AL.LoginDuration), AL.LogoutDateTime),8) AS LoginTime,
A.SkillTargetID
FROM
Agent_Logout AL
JOIN Agent A ON AL.SkillTargetID = A.SkillTargetID
where LogoutDateTime between :start_date and :end_date
and A.SkillTargetID IN (select SkillTargetID from Agent_Team_Member where AgentTeamID in
(:Agent))
group by LogoutDateTime,
EnterpriseName,
LoginDuration,
Extension,
ReasonCode,
A.SkillTargetID,
DATEPART(yy, AL.LogoutDateTime),
DATEPART(mm, AL.LogoutDateTime),
DATEPART(dd, AL.LogoutDateTime),
DATEPART(ww, AL.LogoutDateTime),
DATEPART(dy, AL.LogoutDateTime),
DATEPART(dw, AL.LogoutDateTime),
CONVERT(char,AL.LogoutDateTime,101)
order by EnterpriseName
Вот мои результаты:
Interval Year Month Day Week DOY DOW AgentName LogoutDateTime LoginDuration Extension LoginDate LoginTime
05/27/2020 2020 5 27 22 148 4 Jane Doe 2020-05-27 12:43:53.227 7429 1234 05/27/20 14:40:04
Я знаю, что проблема в поле LoginTime, которое я создаю, но я не могу понять, как преобразовать это обратно в стандартное время. Если я оставлю поле DATETIME, я не смогу установить пороги входа, потому что дата не позволяет порогу работать правильно ... так как я могу разделить поле datetime, сохранив 12-часовое время? Вместо 14:40:04
это будет 2:40:04 pm
.