programing

어떻게 마지막 5분의 기록을 조회할 수 있습니까?

powerit 2023. 8. 6. 10:29
반응형

어떻게 마지막 5분의 기록을 조회할 수 있습니까?

SQL 쿼리를 통해 현재 시간 전에 마지막 5분 기록을 볼 수 있는 방법입니다.타임스탬프의 형식은 다음과 같습니다.

03/25/2014 14:00:00

이 쿼리를 동일하게 사용했습니다.

SELECT Time stamp FROM TABLE 
WHERE S >1 AND SUBSTRING((Time stamp,15,2)-5) 

이 벌금은 다른 방법으로도 동일합니까?

MySQL을 사용하고 있는 경우timestamp열이 데이터 유형입니다.datetime할수있습니다

SELECT Timestamp 
FROM your_table
WHERE Timestamp >= now() - interval 5 minute

타임스탬프가 날짜 열인 경우 다음 작업을 간단히 수행할 수 있습니다.

select t.*
from table t
where t.timestamp >= sysdate - 5/(24*60)

상황은 조금 더 흥미롭습니다.timestamp문자 열입니다.그런 다음 날짜/시간으로 변환해야 합니다.

select t.*
from table t
where to_date(t.timestamp, 'MM/DD/YYYY HH24:MI:SS') >= sysdate - 5/(24*60)
select *
from the_table
where timestamp_column <= timestamp '2014-03-25 14:00:00' - interval '5' minute;

이는 다음과 같이 가정합니다.timestamp_column데이터 유형으로 정의됩니다.timestamp.

그렇지 않으면 지금 중지하고 올바른 데이터 유형을 사용하도록 테이블을 다시 정의해야 합니다.


그 표현은timestamp '2014-03-25 14:00:00'는 (ANSI SQL) 타임스탬프 리터럴입니다.

와 동등합니다.to_timestamp('2014-03-25 14:00:00', 'yyyy-mm-dd hh24:mi:ss')하지만 저는 ANSI 리터럴을 선호합니다. 왜냐하면 입력이 적고 여러 DBMS에서 작동하기 때문입니다.

다음은 오라클에서 5분 전에 실행하는 방법의 예입니다.타임스탬프에서 1을 증분하여 빼는데, 여기서 1은 하루입니다. 따라서 5분은 하루의 5/(24시간*60분)입니다.

SELECT sysdate, sysdate-(5/(24*60)) as min_Ago5 from dual 

언급URL : https://stackoverflow.com/questions/23228133/how-can-query-last-5-minutes-of-records

반응형