MS SQL에서 지난 30분 동안의 기록을 검색하는 방법은 무엇입니까?
테이블에서 지난 30분 동안의 레코드를 검색하려고 합니다.어떻게 하는 거지?아래는 제 질문입니다.
select * from
[Janus999DB].[dbo].[tblCustomerPlay]
where DatePlayed < CURRENT_TIMESTAMP
and DatePlayed >
(CURRENT_TIMESTAMP-30)
변경 내용(CURRENT_TIMESTAMP-30)
대상:DateADD(mi, -30, Current_TimeStamp)
현재 날짜를 가져오려면 GetDate()를 사용합니다.
날짜 추가 기능에 대한 MSDN 링크
날짜 가져오기 기능을 위한 MSDN 링크
DATEADD를 사용하는 방법을 확인합니다.
비슷한 것
SELECT DATEADD(minute, -30, GETDATE())
사용:
SELECT *
FROM [Janus999DB].[dbo].[tblCustomerPlay]
WHERE DatePlayed < GetDate()
AND DatePlayed > dateadd(minute, -30, GetDate())
DATEADD
반송만Function does not exist
MySQL 5.5.53에서 (오래된 것으로 알고 있습니다)
대신에, 나는 발견했습니다.DatePlayed > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 30 minute)
원하는 결과를 낳기 위해
CURRENT_TIM 스탬프 - (숫자)는 정상적으로 작동하지만 어떤 숫자를 찾고 있는지 이해해야 합니다. 즉 부동 소수점 일수입니다.따라서 CURRENT_TIMestamp-1.0은 1일 전이고 CURRENT_TIMestamp-0.5는 1/2일 전입니다.30분 동안 1.0/48.0(결과가 부동 소수점 번호가 되도록 기수 사용) 또는 0.0208333333333이므로 쿼리를 다음과 같이 다시 쓰면 작동합니다.
select * from
[Janus999DB].[dbo].[tblCustomerPlay]
where DatePlayed < CURRENT_TIMESTAMP
and DatePlayed >
CURRENT_TIMESTAMP-1.0/48.0
또한 1.0/24.0/2.0을 사용하면 1.0/2.0을 사용할 수 있습니다.
SQL Server는 Julian 날짜를 사용하므로 30은 "30일 전"을 의미합니다. getdate() - 0.02083은 "30분 전"을 의미합니다.
언급URL : https://stackoverflow.com/questions/4471041/how-to-retrieve-records-for-last-30-minutes-in-ms-sql
'programing' 카테고리의 다른 글
Twitter 부트스트랩에서 navbar 색상 변경 (0) | 2023.06.24 |
---|---|
MongoDB에서 집계($match)와 찾기의 차이? (0) | 2023.06.24 |
git init를 두 번 실행하면 리포지토리가 초기화됩니까, 아니면 기존 repo가 다시 초기화됩니까? (0) | 2023.06.24 |
데이터베이스 공급자 유형당 허용 가능한 최대 매개 변수 수는 몇 개입니까? (0) | 2023.06.24 |
이름이 MKMapView인 클래스를 인스턴스화할 수 없습니다. (0) | 2023.06.24 |