2016-05-31 21 views
0

Ich habe Demo Tabelle I Ansicht erstellen möchten, Dies ist meine AbfrageAbfrage 24 Datumsformat 12 Datumsformat in hive konvertieren

create view Demo_View as 
select sms_sent_identifier,year(sms_sent_dt) Year1, 
case month(sms_sent_dt) 
when 1 then 'Q1' 
when 2 then 'Q1' 
when 3 then 'Q1' 
when 4 then 'Q2' 
when 5 then 'Q2' 
when 6 then 'Q2' 
when 7 then 'Q3' 
when 8 then 'Q3' 
when 9 then 'Q3' 
when 10 then 'Q4' 
when 11 then 'Q4' 
when 12 then 'Q4' 
end Quarter1, 
Month(sms_sent_dt) Month1, 
day(sms_sent_dt) Date1, 
***hour(sms_sent_dt) Hour1,*** 
minute(sms_sent_dt) Minute1 
from subs_sms; 

O/p es 12,13 Datum Stunde wie zB schenkt Ich möchte es in 12-Format, dh 11 Uhr, 12 Uhr Wie soll ich es tun

+1

Nehmen Blick auf folgende Links: http://docs.oracle.com/javase/tutorial/i18n /format/simpleDateFormat.html & https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions – Ambrish

Antwort

0

Dies kann auf einfache Weise mit Hilfe von Erinnerung a% b getan werden. Wenn Sie durch 12 teilen, erhalten Sie den Wert von 12 Stunden. oder der zweite Ansatz ändert das Format des Datums in JJJJ-MM-TT HH: MM: SS zu JJJJ-MM-TT HH: MM: SS. Ich habe das Beispiel für den ersten und zweiten Ansatz unten angegeben.

Bitte versuchen Sie dies für die ersten Ansatz:

create view Demo_View as 
select sms_sent_identifier,year(sms_sent_dt) Year1, 
case month(sms_sent_dt) 
when 1 then 'Q1' 
when 2 then 'Q1' 
when 3 then 'Q1' 
when 4 then 'Q2' 
when 5 then 'Q2' 
when 6 then 'Q2' 
when 7 then 'Q3' 
when 8 then 'Q3' 
when 9 then 'Q3' 
when 10 then 'Q4' 
when 11 then 'Q4' 
when 12 then 'Q4' 
end Quarter1, 
Month(sms_sent_dt) Month1, 
day(sms_sent_dt) Date1, 
(hour(sms_sent_dt)%12) Hour1, 
minute(sms_sent_dt) Minute1 
from subs_sms; 

Dies ist zweiter Ansatz:

hour(from_unixtime(unix_timestamp(sms_sent_dt),'yyyy-MM-dd hh:mm:ss')) 
+0

Danke Ich werde überprüfen und lassen Sie wissen – Pankaj

+0

Es kommt in 12-Format, aber es kommt nicht am oder pm – Pankaj

+0

für AM/PM-Marker benötigen Sie 'aa' t o als Teil des Formats anwesend sein. Beispiel: Stunde (from_unitime (unix_timestamp (sms_sent_dt), "JJJJ-MM-TT hh: mm: ss aa")) für weitere Details gehen Sie zu: https://docs.oracle.com/javase/7/docs /api/java/text/SimpleDateFormat.html – BalaramRaju