지난 10일의 날짜가 포함된 기록을 나열하는 방법은 무엇입니까?
SELECT Table.date FROM Table WHERE date > current_date - 10;
이것이 PostgreSQL에서 작동합니까?
예, PostgreSQL에서 작동합니다("날짜" 열이 데이터 유형이라고 가정).date
그냥 해보는 게 어때요?
표준 ANSI SQL 형식은 다음과 같습니다.
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10' day;
저는 그 형식이 읽기 쉽기 때문에 그 형식을 선호합니다(그러나 그것은 다음과 같습니다).current_date - 10
).
http://www.postgresql.org/docs/current/static/functions-datetime.html 에서는 날짜 및 시간(및 간격) 작업에 사용할 수 있는 연산자를 보여 줍니다.
그래서 당신은 원합니다.
SELECT "date"
FROM "Table"
WHERE "date" > (CURRENT_DATE - INTERVAL '10 days');
위의 연산자/함수는 다음과 같이 상세히 문서화되어 있습니다.
테스트(및 Postgre)를 통해 이해했습니다.SQL dox)는 견적이 다른 답변과 다르게 수행되어야 하며 다음과 같은 "일"도 포함되어야 한다는 것입니다.
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10 day';
여기에 설명되어 있습니다(모든 Postgres DB에서 이를 실행할 수 있어야 함).
SELECT DISTINCT current_date,
current_date - interval '10' day,
current_date - interval '10 days'
FROM pg_language;
결과:
2013-03-01 2013-03-01 00:00:00 2013-02-19 00:00:00
제안된 답은 이미 문제를 해결하는 것처럼 보입니다.그러나 추가로 Postgre의 NOW() 기능을 사용할 것을 제안합니다.SQL.
SELECT Table.date
FROM Table
WHERE date > now() - interval '10' day;
또한 정말 편리한 시간대를 지정할 수도 있습니다.
NOW () AT TIME ZONE 'Europe/Paris'
Postgres 9.4부터는 AGE 기능을 사용할 수 있습니다.
SELECT Table.date FROM Table WHERE AGE(Table.date) <= INTERVAL '10 day';
현재 날짜가 아닌 특정 날짜로 작업하려는 경우 쿼리를 일반화합니다.
SELECT Table.date
FROM Table
WHERE Table.date > '2020-01-01'::date - interval '10 day'
데이터 유형을 확인하겠습니다.
current_date에는 "날짜" 데이터 유형이 있고, 10은 숫자이며, Table.date에는 테이블을 확인해야 합니다.
다음 사이에도 사용할 수 있습니다.
SELECT Table.date
FROM Table
WHERE date between current_date and current_date - interval '10 day';
언급URL : https://stackoverflow.com/questions/5465484/how-to-list-records-with-date-from-the-last-10-days
'programing' 카테고리의 다른 글
"instantiated"와 "initialized"의 차이는 무엇입니까? (0) | 2023.05.14 |
---|---|
git 디렉터리에 없는 동안 git pull (0) | 2023.05.14 |
절인 개체를 로드할 수 없습니다. (0) | 2023.05.14 |
C# 또는 . 최악의 gotchain입니다.NET? (0) | 2023.05.14 |
VB에 매개 변수가 있는 하위 새(생성자)를 상속할 수 있습니까? (0) | 2023.05.14 |