我有一个生日列,日期格式为"20100731",我想将其转换为日期时间,这样我就可以获得其用户的年龄。
我试过多次选角,但运气不好。
我只能考虑做
year(current_date) - cast(substr('20100731', 1,4) as int)
这很好,但我想知道如何将"yyyyMMdd"字符串转换为日期时间格式
我们可以尝试使用DATE_PARSE
将字符串输入转换为日期,然后取与当前日期的年份差:
SELECT DATE_DIFF('year', DATE_PARSE('20100731', '%Y%m%d'), CURRENT_DATE) AS age
FROM yourTable;