2016-06-01 38 views
6

Kovandaki tablonun '2016/06/01' biçiminde bir dosya tarihi var. ama bunun '2016-06-01' biçimiyle zararlı olmadığını görüyorum. Örneğin karşılaştırılamaz. Her ikisi de dize. Bu yüzden, onların nasıl zarar vereceğini bilmek ve onları karşılaştırabilmek istiyorum. Ya da diğer yandan, '2016/06/01' ile '2016-06-01' arasında değişiklik yapabilmeleri için nasıl değiştirilir.Kovandaki tarih formatı nasıl değiştirilir?

Çok teşekkürler.

+0

İyi bir soru, sorunu çözmek için ne denediğiniz hakkında bilgi içerir. Bu soru, herhangi bir araştırma çabası göstermiyor - Googling'in bile "kovandaki tarih formatını değiştir" - bu yüzden cevaplayıcıları çekmemesi gerekiyor. – Noumenon

+1

@Noumenon linkini vermiş olabilirsiniz, http://www.cloudera.com/documentation/cdh/5-1-x/Impala/Installing-and-Using-Impala/ciiu_datetime_functions.html –

cevap

10

, sen

  1. unix_timestamp(string date, string pattern) dönüştürmek saat dize (saniye) unix zaman damgası verilen desenle

    kovan iki tarih fonksiyonunu kullanmak zorunda başka bir biçimden diğerine tarih dizesi dönüştürmek için başarısız olursa 0 döndürür.
  2. from_unixtime(bigint unixtime[, string format]) mevcut sistem saat diliminde o andaki zaman damgası temsil eden bir dizeye Unix Zaman (1970-01-01 00:00:00 UTC'den) arasında bir saniye dönüştürür.

Yukarıdaki iki işlevi kullanarak istediğiniz sonucu elde edebilirsiniz.

örnek giriş ve çıkış

resmin altındaki görülebilir: enter image description here

nihai sorgu tablo1 benim kovan veritabanında mevcut tablo adıdır

select from_unixtime(unix_timestamp('2016/06/01','yyyy/MM/dd'),'yyyy-MM-dd') from table1; 

olduğunu.

Umarım bu size yardımcı olur!

2

Kullanım:

unix_timestamp(DATE_COLUMN, string pattern) 

Yukarıdaki komut Simple Date Function kullanarak istediğiniz şekilde biçimlendirmek olabilir unix zaman biçimine tarih dönüştürmek yardımcı olacaktır.

Date Function