Hive - nicht in der Lage zwei Datumsspalte in der gleichen Tabelle vergleichen

stimmen
0

Ich versuche, zwei String-Spalten zu vergleichen, den Datumswert in ihm hat.

Unten ist ein Beispiel-Datensatz

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

Ich möchte Aufzeichnungen beseitigen, in denen START_DT und end_dt gleich sind. Ich habe versucht, alle die unter Ungleichheit

select * from Test, bei dem to_date (START_DT) <> to_date (end_dt) select * from Test, bei dem to_date (FROM_UNIXTIME (from_unixtimestamp (START_DT 'yyyy-mm-dd'))) <> to_date (FROM_UNIXTIME (from_unixtimestamp (end_dt, yyyy -mm-dD ')))

Aber keiner von ihnen arbeitete für Ungleichheit, wo das gleiche auf Gleichheit funktionieren würde.

Erwartete Ausgabe

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

jede mögliche Hilfe wäre sehr geschätzt

Veröffentlicht am 13/02/2020 um 21:59
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Wie Sie für die String - Typen sind mit start_dt, end_dtSpalten und sie können direkt gegossen date type(yyyy-MM-dd)und nur die nicht passenden Zeilen zu bekommen!

Diese Abfrage:

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

Wir werfen einfach date typeund Vergleichen in where - Klausel.

Beantwortet am 13/02/2020 um 22:22
quelle vom benutzer

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