Ansicht:   

#253443 MySQL: date_format Problem (pc.coding)

verfaßt von Bard, 02.01.2011, 20:39:20

> Ich hab ein etwas seltsames Problem:
>
>

(70, \'asddas\', \'2011-01-05 18:25:00\', \'\', \'\', \'\', 1, \'\', \'\',
> \'asdads\', 9, 0)


> Entscheidend ist das Datum. in der ersten Kalenderwoche.
>
> Dann folgende Abfrage (der Stern ist nur zum Testen):
>

SELECT  * 
> FROM appointment,
> system__appointment_entries 
> WHERE DATE_FORMAT(system__appointment_entries.creation_date,\'%v\') = \'1\' 
> ORDER BY system__appointment_entries.creation_date DESC 


> Ergebnis: kein Tupel wird gefunden.
> Wo liegt das Problem?
> Bei manchen Daten scheint zu funktionieren, bei anderen nicht. Das ist
> eine ziemlich einfache Sache - wenn es funktionieren würde.
> Ich sehs nicht. Habt ihr ne Idee?
>

Das hat was mit der Wochenberechnung zu tun.

Wiki hat da recht umfangreiche Infos: http://de.wikipedia.org/wiki/Woche#Kalenderwoche

In der MySQL-Dokumentation: http://dev.mysql.com/doc/refman/5.1/de/date-and-time-functions.html heißt es:

%V Woche (01 ... 53), wobei Sonntag der erste Tag der Woche ist; wird mit %X verwendet
%v Woche (01 ... 53), wobei Montag der erste Tag der Woche ist; wird mit %x verwendet


Unter Umständen liefert MySQL den 1.1. als erste Woche zurück, alles ab dem zweiten (evtl. dritten) Januar zählt schon als zweite Woche.

Schau dir statt date_format die WEEK-Funktion an.

Grüße
Bard

 

gesamter Thread:

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz