/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
date_format(Dato,'%V') ??
Fra : EnjoyNews


Dato : 14-11-06 01:37

Hej

Jeg har lavet en query som indeholder GROUP BY date_format(Dato,'%V')
Det virker også fint, men jeg kan se på de tal den lægger sammen i de
forskellige uger, at det er en uge der starter Søndag. Det gør man åbent
bart på engelsk istedet for Mandag her i Danmark.

Er der en måde at få den til at tage fra Mandag til Mandag istedet ?



 
 
Peter Brodersen (14-11-2006)
Kommentar
Fra : Peter Brodersen


Dato : 14-11-06 02:06

On Tue, 14 Nov 2006 01:36:48 +0100, "EnjoyNews" <mh-nyheder@mail.dk>
wrote:

>Jeg har lavet en query som indeholder GROUP BY date_format(Dato,'%V')
>Det virker også fint, men jeg kan se på de tal den lægger sammen i de
>forskellige uger, at det er en uge der starter Søndag. Det gør man åbent
>bart på engelsk istedet for Mandag her i Danmark.
>
>Er der en måde at få den til at tage fra Mandag til Mandag istedet ?

Hvis det er MySQL, så skal du bruge %v for at den går fra mandag til
mandag.

Fra manualen:
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#id2710069

...
%V    Week (01..53), where Sunday is the first day of the week; used
with %X
%v    Week (01..53), where Monday is the first day of the week; used
with %x
...

--
- Peter Brodersen
Kendt fra Internet

Peter Brodersen (14-11-2006)
Kommentar
Fra : Peter Brodersen


Dato : 14-11-06 02:09

On Tue, 14 Nov 2006 02:06:14 +0100, Peter Brodersen
<usenet2006@ter.dk> wrote:

>>Jeg har lavet en query som indeholder GROUP BY date_format(Dato,'%V')
>>Det virker også fint, men jeg kan se på de tal den lægger sammen i de
>>forskellige uger, at det er en uge der starter Søndag. Det gør man åbent
>>bart på engelsk istedet for Mandag her i Danmark.

Du bør måske i øvrigt overveje at bruge %u i stedet for. Ellers
risikerer du, at dage i starten og slutningen af året bliver grupperet
sammen.

Fx er både den 1. januar 2006 og 31. december 2006 i uge 52. Men bare
hver deres uge 52. Med %u vil det hhv. være uge 0 og uge 52 (hvilket
er fint at gruppere på)

SELECT
DATE_FORMAT('2006-01-01', '%v'),
DATE_FORMAT('2006-12-31', '%v'),
DATE_FORMAT('2006-01-01', '%u'),
DATE_FORMAT('2006-12-31', '%u')
FROM DUAL;

*************************** 1. row ***************************
DATE_FORMAT('2006-01-01', '%v'): 52
DATE_FORMAT('2006-12-31', '%v'): 52
DATE_FORMAT('2006-01-01', '%u'): 00
DATE_FORMAT('2006-12-31', '%u'): 52
1 row in set (0.00 sec)

--
- Peter Brodersen
Kendt fra Internet

EnjoyNews (14-11-2006)
Kommentar
Fra : EnjoyNews


Dato : 14-11-06 11:17


"Peter Brodersen" <usenet2006@ter.dk> skrev i en meddelelse
news:ejb516$2ug$2@news.klen.dk...
> On Tue, 14 Nov 2006 02:06:14 +0100, Peter Brodersen
> <usenet2006@ter.dk> wrote:
>
> >>Jeg har lavet en query som indeholder GROUP BY date_format(Dato,'%V')
> >>Det virker også fint, men jeg kan se på de tal den lægger sammen i de
> >>forskellige uger, at det er en uge der starter Søndag. Det gør man åbent
> >>bart på engelsk istedet for Mandag her i Danmark.
>
> Du bør måske i øvrigt overveje at bruge %u i stedet for. Ellers
> risikerer du, at dage i starten og slutningen af året bliver grupperet
> sammen.
>
> Fx er både den 1. januar 2006 og 31. december 2006 i uge 52. Men bare
> hver deres uge 52. Med %u vil det hhv. være uge 0 og uge 52 (hvilket
> er fint at gruppere på)
>
> SELECT
> DATE_FORMAT('2006-01-01', '%v'),
> DATE_FORMAT('2006-12-31', '%v'),
> DATE_FORMAT('2006-01-01', '%u'),
> DATE_FORMAT('2006-12-31', '%u')
> FROM DUAL;
>
> *************************** 1. row ***************************
> DATE_FORMAT('2006-01-01', '%v'): 52
> DATE_FORMAT('2006-12-31', '%v'): 52
> DATE_FORMAT('2006-01-01', '%u'): 00
> DATE_FORMAT('2006-12-31', '%u'): 52
> 1 row in set (0.00 sec)
>
> --
> - Peter Brodersen
> Kendt fra Internet

Hej Peter.

Mange mange tak.
Det havde jeg overset.. Synes ellers at jeg havde kigget på en lignende
liste på nettet et sted, men det kan jo være at det lille v ikke stod på den
liste jeg kiggede på.
Det er meget fint at det grupperes sammen som med %v da det er en counter.
Så jeg skal ikke bruge sidste uge af året og første uge af næste år
sepereret.

Michael



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste