2016-07-07 48 views
16
INSERT into Group (Name,CreatedDate) VALUES ('Test',UTC_TIMESTAMP(), 1); 

Geçerli tarih saatini eklemek için mysql için kullandığım sorgu budur. Bunu postgresql'de kullanırken, hata alıyorum.Geçerli datetime uygulamasında postgresql ekleme sorgu ekleme

HINT: No function matches the given name and argument types. You might need to add explicit type casts. 
********** Error ********** 

ERROR: function utc_timestamp() does not exist 
SQL state: 42883 

Ben now() kullanarak aşağıdaki gibi denedim, ancak "2016-07-07 17:01:18.410677" gibi ekleme olduğunu. 'yyyymmdd hh:mi:ss tt' biçiminde eklemeliyim.

Yukarıdaki biçimdeki postgresql ekleme sorgusuna geçerli tarih saati nasıl eklenir?

+0

Belki 'CURRENT_TIMESTAMP'or bile' ŞİMDİ() 'arayın. Birincisi için en azından hassas argümanlar vardır. Bu nedenle, CURRENT_TIMESTAMP (3), 3 alt saniye hanesi (milli ikinci çözünürlük) verecektir – Dilettant

+1

... SET DATESTYLE ile biçimlendirme örn. at: [postgres'te, bir zaman damgası için varsayılan biçimlendirmeyi oturumla veya global olarak ayarlayabilir misiniz?] (http://stackoverflow.com/questions/8723574/in-postgres-can-you-set-the-default-formatting -içinde-için-zaman-oturum-veya-g) veya resmi postgres docs – Dilettant

+3

'zaman damgası 'sütunlar *** değil" bir biçim "var. Gördüğünüz tüm biçimlendirme, kullandığınız SQL istemcisi tarafından uygulanır. Farklı bir _display_ biçimi istiyorsanız, SQL istemcinizin yapılandırmasını değiştirin veya uygun bir biçimlendirme işlevi kullanın. –

cevap

0

Elbette current_timestamp() sonucunu biçimlendirebilirsiniz. Lütfen resmi documentation'daki çeşitli biçimlendirme işlevlerine bakın.

24

timestamp (veya date veya time sütun) "bir biçim" OLMAYANyok.

Kullandığınız tüm biçimlendirme, kullandığınız SQL istemcisi tarafından uygulanır. veri seçerken değer SQL istemci yapılandırmasını değiştirmek

INSERT into "Group" (name,createddate) 
VALUES ('Test', current_timestamp); 

ekraniçin farklı bir biçimde değer veya biçimlendirmek:


şimdiki zaman kullanımını current_timestampas documented in the manual eklemek için

select name, to_char(createddate, ''yyyymmdd hh:mi:ss tt') as created_date 
from "Group" 

psql (varsayılan komut satırı istemci) için yapılandırma parametresi DateStyle üzerinden görüntülü formatını yapılandırabilirsiniz: https://www.postgresql.org/docs/current/static/runtime-config-client.html#GUC-DATESTYLE

+0

Bunu kullanırsam, tarihim zaman damgası biçimi olduğu için hata yaşıyorum. "createddate" sütunu, saat dilimi olmayan tip zaman damgasından oluşuyor, ancak ifade, yazı tipidir – Shesha

+0

@Shesha Bunu 'insert' sorgusunda kullanmayın. "Insert" inizde "current_timestamp" ifadesini kullanın –