Verkeerde DATE sorteren.
Ik heb een volle database waar ook de Datum bij staat.
Deze datum staat in een textvak (geen date veld) als:
02-04-09 - 14:35
Als ik dit ORDER dan gebeurt dat alleen maar op de eerste 2 getallen...
Dit moet gebeuren op de volledige "zin".
Iemand een idee hoe dat kan?!
Quote:
geen date veld
Dus is er geen datum en is het logisch dat er niet op datum kan worden gesorteerd.
Oplossing, je raadt het al: Gebruik een DATE of DATETIME (aangenomen dat je MySQL gebruikt) om datums of datums met tijd op te slaan.
Het is zo eenvoudig en je wist wat de oplossing was: pas hem dan ook toe!
Als ik nu het veld naar DATETIME zet
dan word alles 0000-00-00 - 00:00
En het is te veel om met de hand aan te gaan passen.
Is het niet mogelijk om dit in de WHILE loop te sorteren (Als PHP functie) ?
Een while-loop over alle results en even omzetten. Is idd een optie.
Je zegt het zelf al.
2) Ga met de functie STR_TO_DATE() jouw verrotte data omzetten naar correcte data:
3) Ga controleren of overal de datums en tijden nu goed staan, er is met MySQL geen enkele garantie dat dit het geval is.
4) Ga data eventueel nogmaals herstellen
5) Flikker alle rotte data weg en gooi de kolom die dit heeft veroorzaakt ook weg
6) Ga al jouw scripts herschrijven zodat ze echte datums gaan gebruiken, rotte data gebruiken levert niks op.
Probleem voor eens en voor altijd opgelost. En van je fouten leer je, mits je deze gaat herstellen. Beter nu even wat tijd erin steken dan dat je de problemen nog verder uit de hand laat lopen.
En ga jouw MySQL-database configureren, die is op dit moment volkomen onbetrouwbaar. 0000-00-00 mag NOOIT als datum worden opgeslagen wanneer een datum fout/onmogelijk is. Typisch MySQL die jou dan van de wal in de sloot helpt...
Ik ga het nu proberen, en ik laat nog even weten hoe en wat.
SQL DB Kan ikzelf niet configureren, is van men webhoster...
Hahaha ik vind die pgFrank echt om te lachen :p
Arjen schreef op 02.04.2009 15:49:
Hartstikke bedankt jongens :)
Ik ga het nu proberen, en ik laat nog even weten hoe en wat.
SQL DB Kan ikzelf niet configureren, is van men webhoster...
Ik ga het nu proberen, en ik laat nog even weten hoe en wat.
SQL DB Kan ikzelf niet configureren, is van men webhoster...
Zoals in het artikel staat beschreven, je kunt het ook voor de sessie doen. Dus je kunt hem weldegelijk configureren.
Arjen schreef op 02.04.2009 15:49:
Die kun je wél configureren, even beter lezen. Ik geef je dat linkje niet voor niets.SQL DB Kan ikzelf niet configureren, is van men webhoster...
Je kunt ook je geld terug vragen bij jouw provider, voorlopig levert jouw provider een wanprestatie door de boel niet fatsoenlijk te configureren. Ongeldige datums worden nu vern**kt door de database terwijl je daar keurig een foutmelding op hoort te krijgen.
Gelukkig kun je dit zelf afdwingen al is dit ook direct weer een ongelukkige situatie. Vergeet het 1x en laat nog 1 stomme fout in je code staan en je bent weer terug bij af: corrupte data in je database.
Toch zo heerlijk dat gepruts met MySQL! Nog iemand die wil beweren dat MySQL goedkoop is? Kost je handen vol geld dankzij de vele bugs en "bijzondere" functionaliteiten. Een goede database helpt je bij het bouwen en testen, MySQL helpt jouw data zonder enige waarschuwing naar de vernieling.
BTW Het is gelukt!! Bedankt. en ik had je link niet gezien, sorry.
Gelijk ook het script aangepast zodat alles nu goed komt, dohh
Zie deze link voor een aantal cruciale punten.
http://www.yapf.net/index.php/De_slechte_punten_van_MySQL_op_een_rijtje
Nooit zoiets vragen aan pgFrank :(
Maar verder heb ik daar persoonlijk nog nooit last van gehad..
Ook niet nu, dit was mijn eigen fout ;)