어떻게하면 SQL 쿼리를 통해 현재 시간 전에 마지막 5 분 레코드를 볼 수 있습니까? 타임 스탬프의 형식은 나도 같은지난 5 분간의 레코드를 어떻게 쿼리 할 수 있습니까?
SELECT Time stamp FROM TABLE
WHERE S >1 AND SUBSTRING((Time stamp,15,2)-5)
이 쿼리를 사용
03/25/2014 14:00:00
당신이 MySQL과를 사용하는 경우 같은
어떻게하면 SQL 쿼리를 통해 현재 시간 전에 마지막 5 분 레코드를 볼 수 있습니까? 타임 스탬프의 형식은 나도 같은지난 5 분간의 레코드를 어떻게 쿼리 할 수 있습니까?
SELECT Time stamp FROM TABLE
WHERE S >1 AND SUBSTRING((Time stamp,15,2)-5)
이 쿼리를 사용
03/25/2014 14:00:00
당신이 MySQL과를 사용하는 경우 같은
을 할 수있는 다른 방법이 잘되어 당신의 timestamp
열은 데이터 형식이 datetime
일 수 있습니다.
SELECT Timestamp
FROM your_table
WHERE Timestamp >= now() - interval 5 minute
내가 사용하는 테이블에는 raisetime 필드가 있습니다. 예를 들어 다른 시간 스탬프가 주어지면 현재의 raisetime은 '03/25/2014 14:00 : 00 '. 나는 그것에서 5 분을 빼고 그 전에 기록을보고 싶다. 나는 이것을 할 수있다. – user3559774
다음은 oracle에서 5 분 전에 얻는 방법의 예입니다. 시간 소인에서 1 씩 증가하여 1을 뺀 날짜입니다. 그래서 5 분은 5/(24 시간 * 60 분) 일 것입니다.
SELECT sysdate, sysdate-(5/(24*60)) as min_Ago5 from dual
select *
from the_table
where timestamp_column <= timestamp '2014-03-25 14:00:00' - interval '5' minute;
이 timestamp_column
는 데이터 유형 timestamp
으로 정의되어 있다고 가정합니다.
now을 중지하고 올바른 데이터 형식을 사용하도록 표를 다시 정의해야합니다.
식 timestamp '2014-03-25 14:00:00'
은 (ANSI SQL 된) 타임 스탬프 리터이다.
이것은 to_timestamp('2014-03-25 14:00:00', 'yyyy-mm-dd hh24:mi:ss')
과 동일하지만 타이핑이 적고 여러 DBMS에서 작동하기 때문에 ANSI 리터럴을 선호합니다. 당신의 타임 스탬프는 날짜 열이있는 경우
, 당신은 간단하게 수행 할 수 있습니다 timestamp
이 문자 열 경우
select t.*
from table t
where t.timestamp >= sysdate - 5/(24*60)
상황이 좀 더 흥미 롭다. 그런 다음 날짜/시간으로 번역해야합니다.
select t.*
from table t
where to_date(t.timestamp, 'MM/DD/YYYY HH24:MI:SS') >= sysdate - 5/(24*60)
RDBMS의 특징은 무엇입니까? mySQL, SQL Server, Oracle DB2 등? 잠깐 생각 해봐. 문자열 데이터에서 수학합니까? 그것을 타임 스탬프로 유지하고 시간을 가지고 수학을 할 수있는 함수를 찾는 것이 더 좋은 대답 일 것입니다. – xQbert
데이터 추출을위한 ORACLE db 및 간단한 sql 쿼리 – user3559774