我正在處理一個表,其中有兩個名為“出生”和“死亡”的列,日期為字串(特定字符會有所不同)。
我想通過使用這兩列來計算年齡。如果缺少任何一個值,即如果缺少出生或缺少死亡,則它應該回傳“未知”(順便說一下,在表中,我正在處理的缺失值被指定為None)
當我嘗試將它們轉換為日期時,要么他們給我一個錯誤,要么他們給出了錯誤的年齡。
例如,假設這些分別是出生日期和死亡日期:
出生:0133-01-30T00:53:28 00:53
死亡:0193-07-01T00:53:28 00:53
我使用了以下命令:
CAST(death as date) - CAST(birth as date)
但這是回傳年齡,例如2210或只是一些荒謬的年齡
BY THE WAY THE WAY THE WAY THE WAY THE WAY THE WAY THE WAY THE WAY THE WAY THE JUPYTER NOTEBOOK USING POSTGRESQL
uj5u.com熱心網友回復:
您可以使用 postgresqlage函式來計算年齡。
例子:
SELECT coalesce(age('0193-07-01T00:53:28 00:53'::timestamp, '0133-01-30T00:53:28 00:53'::timestamp)::text, 'Unknown');
age
------------------------
60 years 5 mons 2 days
(1 row)
獲得年份:
SELECT coalesce(EXTRACT(years FROM age('0193-07-01T00:53:28 00:53'::timestamp, '0133-01-30T00:53:28 00:53'::timestamp))::text, 'Unknown');
extract
---------
60
(1 row)
SELECT coalesce(EXTRACT(years FROM age('0193-07-01T00:53:28 00:53'::timestamp, null))::text, 'Unknown');
coalesce
----------
Unknown
(1 row)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/362365.html
標籤:sql PostgreSQL的 日期 约会时间 数据清理
上一篇:Python從CSV中提取日期
下一篇:無法訪問小部件變數
