![](/img/trans.png)
[英]How to subtract a number of days in one column from CURRENT_DATE in PostgreSQL
[英]PostgreSql: how to do where CURRENT_DATE - timestamp > (Value of years/months/days)
請問在PostgreSql中該怎么做
where CURRENT_DATE - timestamp > (Value of years/months/days).
在這里,我想計算一個人的年齡,並驗證該年齡是大於還是小於某個特定值,因此我需要減去該人出生時的CURRENT_DATE和時間戳,但是那時我不知道如何可以,但是有人可以幫助我嗎?
非常感謝你
您將需要INTERVAL
類型 。
可以從DATE
/ TIMESTAMP
減去它,因此最好的謂詞是:
WHERE CURRENT_TIMESTAMP - INTERVAL '18 years' > your_timestamp_column
或者,(當給定的INTERVAL
應該是查詢參數時,並且)如果您只能(最可能)綁定基本類型,則可以僅綁定f.ex。 INTEGER
年份值:
WHERE CURRENT_TIMESTAMP - (? * INTERVAL '1 year') > your_timestamp_column
從技術上講,您的原始邏輯也可以工作:
WHERE CURRENT_TIMESTAMP - your_timestamp_column > INTERVAL '18 years'
但這不會在your_timestamp_column
上使用任何索引, your_timestamp_column
要遵循INTERVAL
理由 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.