sql - 如何将出生日期格式化为“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]
我认为这个错误是由于奇怪的日期格式开始的。但我不完全确定。
谁能帮我解决这个问题?
解决方案
以下是 BigQuery 标准 SQL
FLOOR(DATE_DIFF(CURRENT_DATE(), PARSE_DATE('%Y-%m-%dT00:00:00', Birthdate), YEAR)) AS Age
推荐阅读
- javascript - 如何在 javascript 中替换 XMLHttpRequest 以解析移动设备上的文件?
- csv - logstash 从 imap 读取 csv 附件
- mysql - 无法使用 mySQL 连接到数据库
- c - 从特定地址调用 mmap
- android - react-native 应用程序因 react-native-firebase 云通知而崩溃
- android - 在自定义编辑文本中覆盖 onSelectionChanged 时出现 NullPointerException
- html - 网站手机版和媒体查询版不一样
- bash - 编写一个模仿'return'内置的bash函数
- java - 批量提取到@ElementCollection
- swift - 如何在应用程序中使用之前创建的视图文件?