在 Presto 中将 yyyyMMdd 字符串转换为日期时间
Convert yyyyMMdd string into datetime in Presto
我有一个生日列,日期格式为“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;
我有一个生日列,日期格式为“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;