Hive - ute av stand til å sammenligne to dato kolonner i samme tabell

stemmer
0

Jeg prøver å sammenligne to streng kolonner som har datoverdi i det.

Nedenfor er et eksempel datasett

id start_dt   end_dt
1  2019-10-10 2019-10-10
2  2019-10-20 2020-01-01
3  2019-01-01 2020-01-01

Jeg ønsker å eliminere poster der start_dt og END_DT er like. Jeg prøvde alt under ulikhet

velge * fra test hvor TO_DATE (start_dt) <> TO_DATE (END_DT) velge * fra test hvor TO_DATE (from_unixtime (from_unixtimestamp (start_dt, 'yyyy-mm-dd'))) <> TO_DATE (from_unixtime (from_unixtimestamp (END_DT, 'yyyy -mm-dd ')))

Men ingen av dem jobbet for ulikhet hvor det samme ville fungere på likestilling.

forventet produksjon

id start_dt   end_dt
2  2019-10-20 2020-01-01
3  2019-01-01 2020-01-01

alle hjelpe ville være høyt verdsatt

Publisert på 13/02/2020 klokken 23:59
kilden bruker
På andre språk...                            


1 svar

stemmer
0

Som du har streng type for start_dt, end_dtkolonner og vi kan direkte kastet til date type(yyyy-MM-dd)og få bare ikke samsvarende rader!

Prøv dette søket:

select * from test where date(start_dt) <> date(end_dt);

Vi er rett og slett kastet til date typeog sammenligne i hvor klausulen.

Svarte 14/02/2020 kl. 00:22
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more