从Impala的时间戳变量中提取日期

7
我该如何从Impala中的时间戳变量中提取日期?例如,时间为2018-04-11 16:05:19,则应为2018-04-11。

据我所知,Impala支持trunc(ts_col,'D') - dnoeth
非常感谢,这创建了:2018-03-26 00:00:00 - 但我如何只获取2018-03-26? - Anna
转换为字符串加子字符串? - dnoeth
有人知道如何使用 extract 来做吗?我看到可以用它来处理年份,但是如何处理日期呢? - Anna
1
EXTRACT仅支持年/月/日作为单独的值,不支持组合。而Impala不支持DATE数据类型,因此可以简单地使用“CAST(tscol AS DATE)”进行转换。 - dnoeth
2个回答

11

试一试这个:

from_timestamp('2018-04-11 16:05:19','yyyy-MM-dd') as date_value

from_timestamp(datetime timestamp, pattern string): 将一个TIMESTAMP值转换为表示相同值的字符串。请参见此处的文档。


5
虽然这段代码可能解决了提问者的问题,但最好还是解释一下你的代码如何解决提问者的问题。这样,未来的访问者就可以从你的帖子中学习,并将其应用于自己的代码中。SO不是一个编程服务,而是一个知识资源。此外,高质量完整的答案更有可能被点赞。这些特点以及要求所有帖子都是自包含的,是SO作为平台的一些优势,使它与论坛区分开来。您可以编辑以添加其他信息和/或通过源文档补充说明。 - ysf

3
to_date (t1.local_time), as date_value

to_date: 从时间戳值返回日期字段的字符串表示。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接