Toon posts:

[Mysql] Jaartal voor christus in een date type

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben een site aan het maken waar een php script gebeurtenissen moet kunnen rangschikken, ordenen op datum. Alles werkt goed alleen nou heb ik 1 datum die voor christus is. De format van de date type is 0000-00-00. Het script moet op 1 of andere manier weten dat de datum voor christus is. Maar wat ik ook doe ik krijg het niet aangegeven. Ik heb al de volgende opties geprobeerd. 0059-00-00 (die laatste 4 nullen maakt niet uit) maar dan bakt tie er 2059 van. Ook -059-00-00 werkt niet. -59-00-00 werkt ook niet en 0-59-00-00 ook niet wat ook wel logisch is. Je zou denken nou verander het type dan maar da gaat nie want ik heb ook wel eens de maand en de dag nodig. Het probleem zit hem dus niet in het script maar in de manier waarop de datum in database wordt opgeslagen. Ik gebruik phpMyadmin 2.2.0pre5. Zover ik mij kan herinneren hadden vorige versies er geen problemen mee maar om nu een oude versie te gaan installeren vind ik ook weer zo drastisch. Ik heb al bij phpMyadmin gekeken en ook bij Mysql sites maar kon niks over mij specifiek probleem vinden. Weet iemand een oplossing of combinatie die die wel pakt?

Alvast bedankt

  • Prutser_IA
  • Registratie: Januari 2000
  • Laatst online: 03-06-2021

Prutser_IA

<*{{{><

zo van de MySQL documenten.. hier
The DATE type is used when you need only a date value, without a time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'.

42


Verwijderd

Ik denk dat je dan toch maar je 'eigen' datumtype moet maken.... dus gewoon een varchar van maken en deze vullen met een string die je in php maakt en parsed. Er zijn denk ik weinig standaard-datumtypes in computerland die met datums met negatieve jaarnummers ;)

[ Voor 0% gewijzigd door Verwijderd op 11-08-2002 00:10 . Reden: oeps ]


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Als je het heel hard nodig hebt kan je een overstap naar postgresql overwegen:
http://www.postgresql.org...hp?datatype-datetime.html
Die lopen van 4713 BC tot AD 1465001

Verwijderd

Topicstarter
Hmz als ik het goed begrijp op de site van ACM is postgresql een ander soort database. Het probleem is dat ik niks over de server te vertellen heb dus overstappen zal er niet inzitten.

Ik heb ook al zitten denken om een eigen data-type te maken in php. Maar het probleem is dat er al meer daan 450 items in de database zitten die al het data type data hebben. Nou zijn er maar 2 die een jaartal voor christus hebben. Ik weet nie als je het type verandert in een varchar je de rest ook opnieuw moet gaan zitten invoeren want daar heb ik geen zin in dus ;-) Weet iemand dat toevallig?

  • Grum
  • Registratie: Juni 2001
  • Niet online
Extra veldje zou een evt oplossing kunnen zijn.

Het changen van tabellen met data die erin zit zou je natuurlijk ook zelf eventjes kunnen testen he? .. kopietje van de tabel aanmaken en fijn er op los testen.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je kan het dan nog vrij vies oplossen, maak er een veldje naast dat aangeeft "negatief of positief" (gewoon 1 of -1 in een integer veld), met een beetje mazzel kan je dan "datumveld * integerveld" selecteren en haalt ie daar een negatieve waarde uit zodra je BC ipv AD zit.

En idd, postgresql is een andere database die in veel opzichten "beter" is dan mysql, maar daardoor wel ietsje slomer is (wat natuurlijk maar weer relatief is). Maar laten we hier geen postgres vs mysql discussie van maken :)
Pagina: 1