Avatar billede mesterhakkeren Nybegynder
28. januar 2006 - 05:22 Der er 3 kommentarer og
1 løsning

sql sætinng konvertering vigtigt

Jeg har arbejdet på en:
MySQL server version: 5.0.18-nt

Men nu skal det altså over på en:
SELECT owner, datotid FROM stat WHERE WEEKOFYEAR(datotid) = WEEKOFYEAR(NOW()) AND YEAR(datotid) = YEAR(NOW()) AND day='Monday' AND owner='test'

1) Denne sql sætning fungere ikke på MySQL server version: 4.0.24.  Hvad skal jeg ændre for at få den til at virke ??


2) et helt andet problem.  Feltet datotid er af typen timestamp og har en default værdi til CURRENT_TIMESTAMP.  Men det virker heller ikke med MySQL server version: 4.0.24.  Den indsætter en masse 0´er i stedet.

Hjæællpp.. jeg har brug for en hardcore sql person :)
Avatar billede mesterhakkeren Nybegynder
28. januar 2006 - 05:46 #1
efter af hvad jeg kan se i dokumentationen, så er WEEKOFYEAR functionen understøttet fra
MySQL 4.1.1.


Er der andre alternativer til denne funktion.. og husk at jeg benytter mysql 4.0.24. ??
Avatar billede mesterhakkeren Nybegynder
28. januar 2006 - 05:54 #2
***rette til min start tekst***

Men nu skal det altså over på en:
MySQL server version: 4.0.24

( glemte lige at skrive hvad den version jeg skal over på var )

ups
Avatar billede erikjacobsen Ekspert
28. januar 2006 - 08:00 #3
Hvis du ikke kan gøre det i SQL, må du gøre det i det program, der ligger bag ved.

1) Du bruger ... WHERE WEEKOFYEAR(datotid) ... og det er ret ineffektivt. Du bør både for version 4 og 5 af MySql beregne grænserne for uge XX (altså mellem 20051001000000 og 10051007235959 - fiktive tal) og bruge dem i sammenligningen. I og med du søger på feltet, så er der vel index på, og det vil så kunne udnyttes. Alternativt kan man lave et felt med ugenummer, også med index, og beregne ugenummeret ved indsættelse. Du gør det jo allerede med feltet day.

2) Både i MySql 4 og 5 mener jeg man bare skal udelade feltet datotid, af typen timestamp, når du laver INSERT/UPDATE. Så kommer det korrekte timestamp af sig selv.
Avatar billede mesterhakkeren Nybegynder
28. januar 2006 - 19:43 #4
ja... jo.. men det løser ikke problemet, og nu er det for sent.....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester