簡體   English   中英

蜂巢日期轉換不起作用

[英]hive date conversion not working

我試圖以不同的格式比較兩個日期。 因此,我將它們轉換為unixtimespamp進行比較,但由於它們具有不同的日期格式。 它沒有正確的方式轉換。 我需要幫助。 這是我的查詢:

select a.date,b.date
from table1 a join table2 b
on (from_unixtime( unix_timestamp(b.date, 'MM/dd/yyyy HH:mm:ss a')))=(from_unixtime(unix_timestamp(nvl(a.date,'3050-01-01 00:00:00.0'))));

日期格式為:

a.date                  b.date
4/12/2016 5:46:50 PM    2016-04-12 17:46:50.0
4/12/2016 5:46:50 PM    2016-04-12 17:46:50.0

非常感謝,堆疊

看起來你已經倒退了日期治療。 a.date是您需要指定格式的。 b.date應該很好地轉換成一個沒有任何准備的時間戳。 以下在我的機器上測試良好:

select a.date,b.date
from table1 a join table2 b
on unix_timestamp(b.date) = unix_timestamp(a.date,'M/d/yyyy h:mm:ss a');

我看到你將日期轉換為long int。 哪個更准確。 那么為什么不比較它們才能看到它們是平等的。 這是查詢:

   select a.date,b.date from table1 a join table2 b on (unix_timestamp(b.date, 'MM/dd/yyyy HH:mm:ss a'))=(unix_timestamp(coalesce(a.date,'3050-01-01 00:00:00.0')));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM