[英]How do I find the earliest date in PostgreSQL?
我正在使用Postgres表,該表具有一個名為first_contact_date
的字段,該字段的類型為date。 我正在使用日期的mm / dd / yyyy表示形式 。 我的查詢按書寫方式正常工作,但按字面順序排序。
SELECT first_contact_date
FROM schema.table
ORDER BY first_contact_date
例如,“ 10/3/2016”將在“ 1/2/2017”之后,即使在日期意義上,它也應該是“ 1/2/2017”在“ 10/3/2016”之后。
我看過
和
如何構造查詢,以便從日歷角度返回最早的日期?
您可以提取從年初開始的時間間隔並按以下順序排序:
SELECT first_contact_date-date_trunc('year',first_contact_date), first_contact_date
FROM schema.table
ORDER BY 1;
編輯:漫長的年份可能無法正常工作,因為從年初開始的持續時間在2月之后可能會有所不同。
這有點臟,但是也可以長時間正常工作:
SELECT to_char(first_contact_date,'MM')::int*100+to_char(first_contact_date,'DD')::int datenum
FROM schema.table
ORDER BY 1;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.