Autor | Zpráva | ||
---|---|---|---|
radozaj Profil |
#1 · Zasláno: 11. 4. 2009, 13:09:11
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 |
#2 · Zasláno: 11. 4. 2009, 13:38:38
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 |
#3 · Zasláno: 11. 4. 2009, 14:05:23 · Upravil/a: radozaj
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 |
#4 · Zasláno: 11. 4. 2009, 14:12:22 · Upravil/a: Mastodont
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 |
#5 · Zasláno: 11. 4. 2009, 14:13:43 · Upravil/a: radozaj
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 |
#6 · Zasláno: 11. 4. 2009, 22:26:54
Takže téma stále otvorená a privítam všetky názory.
|
||
Kajman_ Profil * |
#7 · Zasláno: 12. 4. 2009, 09:21:11
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 |
#8 · Zasláno: 12. 4. 2009, 10:27:10
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. |
||
Časová prodleva: 3 dny
|
|||
radozaj Profil |
#9 · Zasláno: 15. 4. 2009, 13:11:54
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. :) |
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0