在sql助手中将sting时间戳转换为hadoop日期

sgtfey8w  于 2021-05-29  发布在  Hadoop
关注(0)|答案(3)|浏览(430)

我有一个字段名| id |时间戳
时间戳是类似于'06/29/2000 00:00:00'的字符串,现在我必须根据日期过滤表

Select Name
           ,ID
           ,Timestamp
   From Table Where**Function**(Timestamp)= '2000-06-29' (or 2000/06/29 or 06/29/2000)

我正在使用sql助手作为用户界面工具与hadoop嗨,我尝试了约会和其他几个功能。请告知

fjaof16o

fjaof16o1#

这对我很有帮助,我们仍然可以玩: Select Name ,ID ,Timestamp From Table Where TO_DATE(from_unixtime(unix_timestamp(Timestamp,'MM/dd/yyyy HH:m:ss'),'yyyy-MM-dd'))>= '2018-07-10'

8e2ybdfx

8e2ybdfx2#

你说时间戳是字符串?你试过比较字符串吗?

Select Name
       ,ID
       ,Timestamp
From Table 
where SUBSTR(Timestamp, 1, 10) = '06/29/2000'
mzillmmw

mzillmmw3#

您可以首先更改时间戳格式并应用 to_date 函数从时间戳中修剪时间。
您可以如下转换时间戳格式。

select from_unixtime(unix_timestamp('06/29/2000 00:00:00' ,'dd/MM/yyyy HH:mm:SS'), 'yyyy-MM-dd HH:mm:SS') from table;

应用 to_date 函数对上述sql的调用。

Select Name
           ,ID
           ,Timestamp
   From Table Where to_date(from_unixtime(unix_timestamp('06/29/2000 00:00:00' ,'dd/MM/yyyy HH:mm:SS'), 'yyyy-MM-dd HH:mm:SS'))= '2000-06-29'

我没有尝试过以上的解决方案,因为我现在没有环境。如果你遇到任何错误,请告诉我。

相关问题