如何从配置单

时间:2016-08-04 19:19:09

标签: hive

我正在尝试对蜂巢中特定日期的表格的所有行进行非常基本的搜索。

我的表格格式如下:

创建表table1 ( id文本, col1文本 );

id的值是无关紧要的,但col1的值是日期时间,YYYY / MM / dd HH:mm:ss GMT-0000。

select count (*) from table1 where unix_timestamp(col1,"yyyy/MM/dd")="2016/07/07";

此列col1采用字符串格式并保存数据,如" 2016/01/01 03:04:05 GMT-0000"

我得到0行,即使应该有100行与该日期。我不确定我的hive版本是什么。请告诉我光明。

谢谢!

2 个答案:

答案 0 :(得分:0)

使用substring_index功能。

由于日期和时间之间有空间,您可以像下面一样使用它。

从table1 substring_index(col1,'',1)

中选择count(*)

答案 1 :(得分:0)

UNIX_TIMESTAMP(string)返回该日期字符串的unix时间戳。

在您的查询中,您已将时间戳与日期字符串进行比较。

您的查询应该是

select count (*) from table1 where from_unixtime(unix_timestamp(col1,"yyyy/MM/dd")) = "2016/07/07" ;