select datediff('year',CURRENT_DATE,birthday) as user_age from user_table limit 20
我尝试使用上面的代码,但它给了我下面的错误。它只需要两次约会,我不想除以365。有没有其他功能可以使用。
ajsxfq5m1#
你可以使用date_part来获取两个日期的年份,然后减去它们:
select date_part('year', CURRENT_DATE) - date_part('year', birthday) from user_table
这种方法倾向于off-by-one errors。为了避免这个错误,你还必须考虑日期和月份:
select birthday, date_part('year', CURRENT_DATE) - date_part('year', birthday) + if((date_part('month', CURRENT_DATE) - date_part('month', birthday)) * 100 + date_part('day', CURRENT_DATE) - date_part('day', birthday) < 0, -1, 0) as age from user_table
1条答案
按热度按时间ajsxfq5m1#
你可以使用date_part来获取两个日期的年份,然后减去它们:
这种方法倾向于off-by-one errors。
为了避免这个错误,你还必须考虑日期和月份: