Select alle data van een bepaalde week

Status
Niet open voor verdere reacties.

Cyberjunkie

Gebruiker
Lid geworden
6 mei 2012
Berichten
41
Geachte lezer,

Ik probeer uit de mysql database alle data van een specifieke week, maand, dag en jaar te trekken. Maar loop bij de
query van de week alvast. Ik heb namelijk alle datums perongeluk als varchar opgeslagen wat het iets wat bemoeilijkt

De query waarmee ik het probeerde
Code:
SELECT * FROM table WHERE WEEK(STR_TO_DATE(table.datum,"%d-%m-%Y")) = WEEK(32);

Heb het gevoel dat ik iets over het hoofd kijk. Vandaar mijn vraag hier. Alvast bij voorbaat dank.

met Vriendelijke Groet,
CyberJunkie
 
WEEK() levert een getal op, dus het is WEEK(...) = 32


Overigens is het heel erg ontiegelijk aan te raden om de datums om te zetten naar een echte datumkolom want met varchar gaat het een drama worden, er kunnen geen indexes gebruikt worden en je moet overal en altijd met die str_to_date gaan knutselen.
 
Bedankt voor de tip ! maar het project is al iets tever gevordert om het risico te lopen alle datums te wissen.
En het is nu gelukt ;) en bedankt !
 
maar het project is al iets tever gevordert om het risico te lopen alle datums te wissen.

Hoe was je van plan om iets kwijt te raken?

Je maakt gewoon een nieuwe kolom aan, je update alle records om de niewe kolom te vullen met een str_to_date() en dan controleer je of de nieuwe datum gelijk is aan de oude met een date_fomat().
Wanneer alles klopt ga je de nieuwe kolom gebruiken en drop je de oude.

En als je daarin een fout maakt dan kun je altijd nog terugvallen op je backups.

Serieus, ga niet verder met een string want dat gaat absoluut fout, straks weet een andere developer niet dat het een string moet zijn, hij voert er een DATE aan, MySQL interpreteert dat niet als d-m-Y maar m-d-Y en poef, daar gaat je data.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan