PostgreSQL a LC_TIME

Honza Pazdziora adelton na fi.muni.cz
Neděle Duben 10 13:01:55 CEST 2005


On Wed, Apr 06, 2005 at 02:40:41PM +0200, Jan Kasprzak wrote:
> Nerikej mi ze u datumu jsou nejake indexy zavisle na locale :-)
> 
> 	Jinak ale moje citovana poznamka (proc ne rovnou do cilove
> podoby?) byla mirena na Adeltonuv nazor, ze by tohle mela delat prezentacni
> vrstva. Ano, mohla by, ale to bych musel od datove vrstvy dostavat

Ja mel prezentacni vrstvou na mysli prezentacni vrstvu aplikace, ktera
to dostane v ISO 8601 formatu a pak uz s tim umi pracovat. Protoze
napriklad vytahnes z databaze dve data, a pak v prezentaci chces
vypsat jejich rozdil (za jak dlouho se neco stalo). A pokud Ti uz
z databaze leze 3. cervna 2005 misto 2005-06-03, tak si komplikujes tu
dalsi praci s vystupnimi daty.

> to datum v nejakem snadno zpracovatelnem formatu. Coz nemam. Takze dalsi
> krok je zkusit toto delat primo v databazi.

> : > Samozrejme systemovejsi by bylo, kdybych mohl databazi
> : > (DBD::Pg, libpg nebo komu) rict at mi vraci vsechny casy jako pocet
> : > sekund od epochy (aniz bych se s tim musel v kazdem selectu vypisovat
> : > a myslet na to). Ale jde mi o to jak to udelat aniz bych musel na toto

Pouzit DateStyle=ISO. A predpokladam, ze bys dokazal dokodovat, aby
DateStyle=Epoch to vracelo jeko jeden integer.

> :  Pokud lze na backendu tu konverzi provadet tak ano. V tomto pripade to
> : to nelze. 
> 
> 	Lze - napriklad pres plPerl, nebo i jen pomoci CASE..WHEN
> pro prevod cisla mesice na cesky nazev.

Ja jsem posilal ten odkaz na nls_string jako priklad toho, jak delat
locale-aware manipulace na backendu. Jestli tomu ten locale parametr
budes predavat jako retezec nebo jestli si to budes brat z nejakych
promennych (PGDATESTYLE) je uz druha vec.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
 .project: Perl, mod_perl, DBI, Oracle, large Web systems, XML/XSL, ...
		Only self-confident people can be simple.


Další informace o konferenci Databases