반응형
to_char () 함수를 사용하지 않고 PostgreSQL의 날짜에서 연도와 월을 추출하는 방법은 무엇입니까?
sql :을 선택하고 싶습니다. SELECT "year-month" from table group by "year-month" AND order by date
여기서 year-month-날짜 형식은 "1978-01", "1923-12"입니다. couse work의 to_char를 선택 하지만 "올바른"순서는 아닙니다.
to_char(timestamp_column, 'YYYY-MM')
date_part(text, timestamp)
예 :
date_part('month', timestamp '2001-02-16 20:38:40'),
date_part('year', timestamp '2001-02-16 20:38:40')
http://www.postgresql.org/docs/8.0/interactive/functions-datetime.html
to_char(timestamp, 'YYYY-MM')
당신은 그 주문이 "옳지 않다"고 말하지만, 나는 그것이 왜 잘못된 지 알 수 없습니다 (적어도 10000 년이 다가올 때까지).
date_trunc
방법을 사용하여 요일 (또는 주, 연도, 일 등 원하는 다른 항목)을 자릅니다.
월별 주문에서 판매를 그룹화하는 예 :
select
SUM(amount) as sales,
date_trunc('month', created_at) as date
from orders
group by date
order by date DESC;
다음을 사용하여 월 이후의 모든 정보를자를 수 있습니다 date_trunc(text, timestamp)
.
select date_trunc('month',created_at)::date as date
from orders
order by date DESC;
첫 번째 옵션
date_trunc('month', timestamp_column)::date
모든 달이 첫날부터 시작되는 날짜 형식을 유지합니다.
예:
2016-08-01
2016-09-01
2016-10-01
2016-11-01
2016-12-01
2017-01-01
두 번째 옵션
to_char(timestamp_column, 'YYYY-MM')
@yairchu가 제안한이 솔루션은 제 경우에는 잘 작동했습니다. 나는 정말로 '일'정보를 버리고 싶었다.
EXTRACT 함수 pgSQL을 사용할 수 있습니다.
EX- date = 1981-05-31
EXTRACT(MONTH FROM date)
it will Give 05
자세한 내용은 PGSQL 날짜-시간
보다 작지 않은 "보다 큼"기능에 대해 작동합니다.
예를 들면 :
select date_part('year',txndt)
from "table_name"
where date_part('year',txndt) > '2000' limit 10;
잘 작동합니다.
이 아니라면
select date_part('year',txndt)
from "table_name"
where date_part('year',txndt) < '2000' limit 10;
오류가 발생합니다.
반응형
'IT박스' 카테고리의 다른 글
Django "login ()은 정확히 1 개의 인수 (2 개)"오류를받습니다. (0) | 2020.09.13 |
---|---|
탐색 창이 열려 있는지 감지하는 방법은 무엇입니까? (0) | 2020.09.13 |
Click Event on UIImageView programmatically in ios (0) | 2020.09.13 |
C 메모리 관리 (0) | 2020.09.13 |
Python을 사용하여 전체 압축 tar 파일을 만드는 방법은 무엇입니까? (0) | 2020.09.13 |