首页 > 解决方案 > 如何将出生日期格式化为“yyy-mm-dd”并从那里计算年龄

问题描述

我目前正在使用一个数据集,我必须为其计算员工的年龄,但是出生日期的格式如下:
1987-05-17T00:00:00 如何删除 'T00:00:00 ' 从出生日期开始?

从那里开始,我想计算年龄,我已经尝试过这样做:

FLOOR(DATE_DIFF(CAST(CURRENT_DATE() AS DATE)), CAST(Birthdate AS DATE))) AS Age

但是,当我不断收到以下错误时:

错误:对于参数类型的函数 DATE_DIFF 没有匹配的签名:DATE。支持的签名:DATE_DIFF(DATE, DATE, DATE_TIME_PART) 在 [27:9]

我认为这个错误是由于奇怪的日期格式开始的。但我不完全确定。

谁能帮我解决这个问题?

标签: sqldategoogle-bigquery

解决方案


以下是 BigQuery 标准 SQL

FLOOR(DATE_DIFF(CURRENT_DATE(), PARSE_DATE('%Y-%m-%dT00:00:00', Birthdate), YEAR)) AS Age

推荐阅读