Hive - in grado di confrontare due colonne di data nella stessa tabella

voti
0

Sto cercando di confrontare due colonne di stringhe che ha valore di data in esso.

Segue un esempio di dati

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

Voglio eliminare i record in cui start_dt e end_dt sono uguali. Ho provato tutti i sotto disuguaglianza

select * from test in cui to_date (start_dt) <> to_date (end_dt) select * from test in cui to_date (FROM_UNIXTIME (from_unixtimestamp (start_dt, 'yyyy-mm-dd'))) <> to_date (FROM_UNIXTIME (from_unixtimestamp (end_dt, 'yyyy -mm-dd ')))

Ma nessuno di loro ha lavorato per la disuguaglianza in cui lo stesso avrebbe funzionato sulla parità.

risultati attesi

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

Qualsiasi aiuto sarebbe molto apprezzato

È pubblicato 13/02/2020 alle 23:59
fonte dall'utente
In altre lingue...                            


1 risposte

voti
0

Come si stanno avendo tipo di stringa per le start_dt, end_dtcolonne e possiamo direttamente cast date type(yyyy-MM-dd)e ottenere solo le righe non corrispondenti!

Prova questa ricerca:

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

Stiamo semplicemente casting per date typee confrontando in cui la clausola.

Risposto il 14/02/2020 a 00:22
fonte dall'utente

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