YEARWEEK(DATE_FORMAT(datetime,'%Y-12-31')) AS maxweek
fungerade utmärkt!
Men det kan den förra koden också ha gjort, för jag strulade med tecknet ' i PHP.
8 svar · 599 visningar · startad av erciz
Tror att detta borde vara enkelt, men jag får inte till det och har testat en del olika datumfunktioner i MySQL-dokumentationen.
Hur konstruerar jag ett datum i MYSQL? Frågan i grund och botten är att jag vill veta vilket som är det högsta veckonumret på året, finns det nåt enklare sätt att få fram det så är jag tacksam.
Har försökt med detta, men det blir fel för jag får inte ha en sträng där:
YEARWEEK(YEAR(datetime)'-12-31') AS maxweek
YEARWEEK(DATE_FORMAT(datetime,'%Y-12-31')) AS maxweek
fungerade utmärkt!
Men det kan den förra koden också ha gjort, för jag strulade med tecknet ' i PHP.
Fast den koden tycks inte göra det jag vill göra. Få ut högsta veckonummer från ett visst år. :(
select
week(concat(year('2007-05-12'), '-12-31'), [b]1[/b])
select week(concat(year('2007-05-12'), '-12-31'), 7)
Fast gör den verkligen det jag vill? Den sista december kan väl ligga i vecka 1, om det är en måndag, tisdag eller onsdag?
Nej, då är det den 1 januari som ligger i sista veckan på året.
Såg att jag satte fel mode till week() dock, det är nu åtgärdat.
Edit,
Eller hmm. Det kanske du har rätt i, jag läste inte riktigt noga. Det här måste jag kolla upp... ;)
Nej, då är det den 1 januari som ligger i sista veckan på året.
Såg att jag satte fel mode till week() dock, det är nu åtgärdat.
Edit,
Eller hmm. Det kanske du har rätt i, jag läste inte riktigt noga. Det här måste jag kolla upp... ;)
Jag tror att det blir fel. För i vårat kalendersystem är vecka 1 den första veckan på året med en torsdag. Det är ju vet vi säger med mode 3 till week.
Verkar som att YEARWEEK i MySQL är fel också. YEARWEEK('2009-12-31') returnerar '200952' istället för '200953' som borde vara det korrekta.
Verkar som att YEARWEEK i MySQL är fel också. YEARWEEK('2009-12-31') returnerar '200952' istället för '200953' som borde vara det korrekta.
EDIT: Inget fel på MySQL, nu var det jag som hade glömt mode 3 till YEARWEEK. YEARWEEK('2009-12-31', 3) funkar bättre.
Men problemet med att få ut högsta veckan ett visst år kvarstår, men jag kanske för lösa det i PHP, kan bli bra det med.
Ojdå, skulle editera, men det blev citering, sorry.