You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apache Drill中从timestamp字段提取日期部分?

解决Apache Drill中从Timestamp字段提取日期部分的问题

我来帮你搞定这个提取日期的需求,其实Apache Drill里有几个直接有效的方法,不用绕弯路:

方法1:直接CAST转为DATE类型(推荐)

因为你的date_time是timestamp类型,直接将其转换为DATE类型就能自动剥离时间部分,只保留YYYY-MM-DD格式的日期:

SELECT CAST(date_time AS DATE) AS date_only
FROM your_table_name;

执行后你会得到这样的输出:

+-------------+
| date_only |
+-------------+
| 2017-01-01 |
| 2017-01-01 |
| 2017-01-01 |
| 2017-01-01 |
| 2017-01-01 |
+-------------+

方法2:使用date_trunc函数截断到天

如果需要保留timestamp类型但时间部分置为00:00:00,可以用date_trunc函数指定截断到"day"级别:

SELECT date_trunc('day', date_time) AS date_only
FROM your_table_name;

这个返回的结果是2017-01-01 00:00:00.0,如果需要纯日期格式,再套一层CAST转DATE即可。

额外排查:确认字段实际类型

如果你之前试了函数没效果,可能是date_time字段并不是真正的timestamp类型(比如存成了字符串),可以先执行这个语句确认字段类型:

DESCRIBE your_table_name;

如果是字符串类型,需要先转成timestamp再转date:

SELECT CAST(CAST(date_time AS TIMESTAMP) AS DATE) AS date_only
FROM your_table_name;

内容的提问来源于stack exchange,提问作者Devas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:14:23