[MySQL] %Y en %y in Datetime niet juist

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kay Kay

Kay Kay

05/04/2009 02:08:00
Quote Anchor link
Ik heb een veld in de Database met jaartal 1902 bijvoorbeeld. Nu haal ik deze op:
#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.
 
PHP hulp

PHP hulp

28/03/2024 23:52:17
 
Frank -

Frank -

05/04/2009 09:58:00
Quote Anchor link
Tja, moet je maar geen MySQL gebruiken, die zuigt aan alle kanten.

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.
 
Kay Kay

Kay Kay

05/04/2009 14:50:00
Quote Anchor link
Ik gebruik wel DATETIME. Hij kan er wel goed mee rekenen trouwens, maar het outputten gaat verkeerd.

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
 
Frank -

Frank -

05/04/2009 15:11:00
Quote Anchor link
Dragy schreef op 05.04.2009 14:50:
Ik gebruik wel DATETIME. Hij kan er wel goed mee rekenen trouwens, maar het outputten gaat verkeerd.
Presentatie kun je het beste regelen in PHP, zie de DateTime-class.

Quote:
Configureren zal ik nog een keer naar kijken.
Hoe eerder hoe beter, met de standaard configuratie loop je het risico jouw data kwijt te raken.

Quote:
Ik wil die instellingen wel doen, maar gaat mijn data dan niet naar de knoppen?
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.
 
Kay Kay

Kay Kay

05/04/2009 15:25:00
Quote Anchor link
Oke ik heb dit gedaan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.