Ich versuche, die Anzahl der Datensätze in dem bestimmten Datum zu zählen. schließlich, hat die Abfrage funktioniert, aber verwirrt zwischen diesen beiden Abfragen, die für mich gleich schien. warum sollte ich die date_time anstelle von quote in die umrechnung einschließen.erklären die beiden Konvertierungen zwischen Hive-Date-Funktionen verwendet?
wenn ich die Abfrage getroffen,
select count(*) from TABLENAME
where FROM_UNIXTIME(UNIX_TIMESTAMP(date_time), 'yyyyMMdd')='20170312';
Ergebnis ist Zahl des jeweiligen Zeitpunkt angekommen ist.
aber wenn ich getroffen,
select count(*) from TABLENAME
where FROM_UNIXTIME(UNIX_TIMESTAMP('date_time', 'yyyyMMdd'))='20170312';
das Ergebnis 0.
bitte den Unterschied dieser Abfragen erklären.
Wie wäre es mit der Verwendung ohne Anführungszeichen wie FROM_UNIXTIME (UNIX_TIMESTAMP (date_time, 'yyyyMMdd')) = '20170312'; –
Dies funktioniert, wie in Ihrem ersten Beispiel –
ideal, erstes Beispiel funktioniert. Können Sie bitte sagen, warum ist das dritte Beispiel nicht funktioniert, da ich keine Zeichenfolge zu repräsentieren. –