Hive - nem képes összehasonlítani két dátum oszlopok ugyanannál az asztalnál

szavazat
0

Próbálom összehasonlítani két szöveges oszlop, amely dátumérték benne.

Az alábbiakban egy példát adatbázisba

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

Azt szeretné, hogy megszüntesse rekordokat, ahol start_dt és END_DT egyenlő. Próbáltam az összes alábbi egyenlőtlenség

select * from vizsgálat, ahol TO_DATE (start_dt) <> TO_DATE (END_DT) válassza * a vizsgálat, ahol TO_DATE (from_unixtime (from_unixtimestamp (start_dt, 'yyyy-mm-dd'))) <> TO_DATE (from_unixtime (from_unixtimestamp (END_DT, 'yyyy -MM-dd ')))

De egyikük sem dolgozott egyenlőtlenség, ahol ugyanaz fog működni az esélyegyenlőségre.

várható kiadási

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

minden segítség lenne nagyra értékelik

A kérdést 13/02/2020 23:59
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
0

Ahogy vannak string típusú az start_dt, end_dtoszlopok és akkor közvetlenül a leadott date type(yyyy-MM-dd)és kap csak a nem megfelelő sorokat!

Próbáld ki ezt a lekérdezést:

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

Mi egyszerűen csak öntés date typeés összehasonlítjuk WHERE.

Válaszolt 14/02/2020 00:22
a forrás felhasználó

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