[MySQL] %Y en %y in Datetime niet juist
#1: DATE_FORMAT(datum,'%d-%m-%Y')
of
#2: DATE_FORMAT(datum,'%d-%m-%y')
Bij #1: %Y == 1970
Bij #2: %y == 2001
Hoe kan ik gewoon 1902 laten zien? Hoger jaartallen (ongeveer vanaf 1910) kloppen wel met %Y. %y gaat nog minder ver terug.
Het lijkt een probleem te zijn met out of range datums, datums die niet binnen de grenzen van MySQL passen. Ik vermoed dat je geen DATETIME hebt gebruikt, maar een TIMESTAMP. En die is in MySQL 100% onbetrouwbaar, heeft nogal een paar rare eigenschappen die per versie verschillen.
Gebruik een DATETIME en jouw huidige probleem is opgelost.
Heb je de database al wel geconfigureerd? Onmisbaar, zeker wanneer je corrupte data en/of resultaten wilt voorkomen.
Configureren zal ik nog een keer naar kijken.
Ik wil die instellingen wel doen, maar gaat mijn data dan niet naar de knoppen?
Gewijzigd op 01/01/1970 01:00:00 door Kay Kay
Dragy schreef op 05.04.2009 14:50:
Presentatie kun je het beste regelen in PHP, zie de DateTime-class.Ik gebruik wel DATETIME. Hij kan er wel goed mee rekenen trouwens, maar het outputten gaat verkeerd.
Quote:
Hoe eerder hoe beter, met de standaard configuratie loop je het risico jouw data kwijt te raken.Configureren zal ik nog een keer naar kijken.
Quote:
Jij wilt MySQL gebruiken, moet je niet gaan klagen wanneer de data naar de knoppen gaat, dat hoort er bij. Moet je maar een echte database (als in DBMS) gebruiken, dan loop je dit soort risico's niet.Ik wil die instellingen wel doen, maar gaat mijn data dan niet naar de knoppen?
Code (php)
1
mysql_query("SET SESSION sql_mode = 'TRADITIONAL,ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO'") or die(mysql_error());
Ik merk geen verschil of zo. Is er wel wat gebeurt?