【发布时间】:2017-07-28 15:20:24
【问题描述】:
我在蜂巢环境中运行查询。
我有一列有时间戳,但在表中设置了一个字符串。我尝试了以下方法:所有这些都返回 Null
SELECT
,To_date(activitydate)
演员:
,cast(activitydate as timestamp)
这是表格中数据的设置方式:
感谢任何关于我如何转换它的输入:
05/12/2017 00:00:00
SELECT
cust_id
,to_date(activitydate) activity_date
,type type_of_contact
FROM repl_task
WHERE to_date(activitydate) BETWEEN '2014-01-01' AND '2017-01-01' ;
如果我运行这个,我的内存就会用完:
SELECT
cust_id
,activitydate
,SUBSTR(activitydate,4,2) AS DT
,SUBSTR(activitydate,0,2) AS MONTH
,SUBSTR(activitydate,7,4) AS YEAR
,type
FROM task
WHERE activitydate >='01/01/2016 00:00:00'
【问题讨论】:
-
为什么需要日期?你能告诉我们完整的查询吗?
-
我需要日期来过滤掉表格,而我只需要 3 年的数据,否则表格有 25 年的数据。
-
以下是我正在使用的解决方法:
-
,SUBSTR(activitydate,4,2) AS DT ,SUBSTR(activitydate,0,2) AS MONTH ,SUBSTR(activitydate,7,4) AS YEAR
标签: sql string date hive hiveql