在presto中将yyyymmdd字符串转换为datetime

zrfyljdw  于 2021-07-27  发布在  Java
关注(0)|答案(1)|浏览(538)

我有一个birthdate列,date的格式是'20100731',我想把它转换成datetime,这样我就可以得到它的用户年龄。
我试过多次投法,但都没有成功。
我只能想

year(current_date) - cast(substr('20100731', 1,4) as int)

这工作正常,但我想知道如何将'yyyymmdd'字符串转换为datetime格式

vs3odd8k

vs3odd8k1#

我们可以试着用 DATE_PARSE 要将输入的字符串转换为日期,则取与当前日期的年差:

SELECT DATE_DIFF('year', DATE_PARSE('20100731', '%Y%m%d'), CURRENT_DATE) AS age
FROM yourTable;

相关问题