[英]Countdown the days and months within Postgres
我知道date_part('days', age(release_date))
,它將顯示release_date
col ( timestamp
)的年齡。 例如,如果發布日期是1994-05-30
, date_part
計算將產生5 days
。
但是,我怎樣才能從倒計時的角度找出答案,即另一個版本。 距離本次發行周年紀念日還有2 days
? 例如,這只是365 - date_part('days', age(release_date))
的問題嗎? 或者,還有更好的方法?
將發布日期轉換為當前年份並從中減去當前日期。 假設release_date
是實際date
:
SELECT *
, (release_date + (date_trunc('year', LOCALTIMESTAMP)
- date_trunc('year', release_date)))::date
- CURRENT_DATE AS days_till_aniversary
FROM release;
db<> 在這里擺弄
一個地方有LOCALTIMESTAMP
而另一個地方有CURRENT_DATE
是有原因的。 這樣,計算就可以在不涉及時區的情況下完成。 (除了取決於您的會話開始時的時區設置。)減去日期會產生一個整數,表示以天為單位的差異。
今年過去的周年紀念日產生負數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.