Autor Zpráva
radozaj
Profil
Ahoj,
MySQL dátové pole "date" umožňuje uložiť dátum v tvare 'rrrr-mm-dd', pričom 'mm' a 'dd' môžu obsahovať aj 0. Túto vec som využil, keď som potreboval náhle zapísať dátum v tvare 'rrrr' alebo 'rrrr-mm', kde som chýbajúce údaje doplnil nulami a na aplikačnej úrovni som to vystrihol.
Teraz však riešim, ako podobný prípad spraviť v PqSQL. Ten totižto do dátového typu "date" neumožňuje uložiť deň alebo mesiac = 0.
PhpPgAdmin mi napísal HINT: Skúste nastaviť iný štýl dátumu ("datestyle").
Vie mi niekto poradiť?
Mastodont
Profil
kde som chýbajúce údaje doplnil nulami a na aplikačnej úrovni som to vystrihol
Nezlobte se na mně, ale to je prostě prasárna a jeden z důkazů toho, že MySQL je ****. Upravte si aplikaci tak, aby nuly nebylo možné ukládat a pak bez problémů budete moci používat i Postgre.
radozaj
Profil
To je pravda.

Ale potom ako efektívne vyriešiť problém takejto tabuľky:
    8. 2009     Vysoké Tatry
25. 3. 2009     Zahájenie jarnej sezóny.
 5. 3. 2009     Rozlúčka zo zimou.
 1. 2. 2009     Turistický pochod  50 km.

Tu som použil pole typu "date", chýbajúce miesta som doplnil nulami a pekne to fungovalo...
Mne stačí riešenie iba pre Postgres, z MySQL už odchádzam.
Mastodont
Profil
Ty Vysoké Tatry, to má být celý srpen? Pokud něco trvá déle, je třeba uložit začátek a konec, čili návrh by měl vypadat třeba takto:
 2. 8. 2009    25. 8. 2009  Vysoké Tatry
25. 3. 2009    25. 3. 2009  Zahájenie jarnej sezóny.
 5. 3. 2009     5. 3. 2009  Rozlúčka zo zimou.
 1. 2. 2009     1. 2. 2009    Turistický pochod  50 km.
radozaj
Profil
Ty Vysoké Tatry, to má být celý srpen?
Bohužiaľ nie. To by malo znamenať, že sa ešte nevie, kedy to presne v tom mesiaci bude. Takže začiatkom a koncom akcie sa do vyriešiť nedá :(
Ono sa to samozrejme dá vyriešiť napr. že si vytvorím ďalší stĺpec, ktorý bude určovať T/F či sa presný deň vie alebo nie. Ale to mi pripadá menej efektívne riešenie ako s tými nulami.
radozaj
Profil
Takže téma stále otvorená a privítam všetky názory.
Kajman_
Profil *
Co si do dalšího sloupečku přidat např. string pro formátování datumu nebo příznak, že je nejasný den, či měsíc.
Mastodont
Profil
radozaj
Možná to vypadá jako méně efektivní, ale nuly v datech jsou prostě fuj ... ten sloupec by mohl klidně vyjadřovat stav akce (návrh - schváleno - proběhlo). U návrhů by data byla zadána, ale akce by nebyly zahrnuty do kalendáře.
radozaj
Profil
OK, díki,
spravím to tak. Prinesie to nové výhody... "ORDER BY datum" mi umožní lepšie zoradenie aj plánovaných akcií a ten nový stav akcie = prebehla sa tiež dosť hodí... Nový stĺpec "stav char(1)" ma zase rozsahovo nezabije. :)
Toto téma je uzamčeno. Odpověď nelze zaslat.